Software Implementation Technology report Team: No Best 1 - Program Manager 2 - Developer 3- Tester 2007-8 Peking University
Software Implementation Technology report 1 Problem & Plan 2 Design & Implementation 3 Testing 4 Summary
Problem Define What we will build Taximeter Why we choose it It comes from the real life It has a lot of states that can be emulated Based on the time we can afford The result we vote
Features List Features / 15 - - IC Priorities Very High Very High Very High Very High High High Middle Middle Middle Middle Middle Middle Middle Low Low Very Low Very Low
Tasks: what we do Tasks Actions Role Problem Define Discuss problem All & make out domain Requirements Dig out features All &Test Plan and priority & make a test plan Design & Implementation Architect, Class definition & make it work Devs Iteration Testing Unit testing Integration Testing E2E testing Testers
Schedule: how we use time Tasks Actions Time Cost Problem Define Discuss problem 2 hours & make out domain Requirements Dig out features 3 hours and priority Test Plan make a test plan 3 hours Design Architect, Class definition 2 hours Implementation make it work 6 hours Total: 23 hours Unit testing Integration E2E Testing testing White & Black Coverage Analysis Interface debugging Run the cases which cover the work flow 3 hours 3 hours 2 hours
Software Implementation Technology report 1 Problem & Plan 2 Design & Implementation 3 Testing 4 Summary
User Description, ;
Use Case
Class Definition
Kernel Implementation
Kernel Implementation
Key Problems TDD and The Design of Classes Discrete Simulation and Continuous Process Error: Link 2005
Software Implementation Technology report 1 Problem & Plan 2 Design & Implementation 3 Testing 4 Summary
Testing Strategy Three Phases Unit Testing Basis Path Testing, Equivalence Partitioning, Boundary Value Analysis Integration Testing Sandwich Integration Testing ( Bottom Up &Top Down ) E2E Testing( including function testing ) Emulate the whole work flow of the system
Unit Testing Basis Path Testing-sample
Unit Testing Basis Path Testing-sample CC(G) : 4 Basis path set: 1-2-4-5-6,1-2-3-4-5-6,1-7-9,1-7-8-9 Test cases:
Unit Testing Equivalence Partitioning, Boundary Value Analysis-sample Test the method: SetCurTime
Unit Testing Results Report 16 test cases built 15 test cases passed Ratio: 93.75 % 1 bug found: boundary configuration error ( fixed )
Integration Testing
Integration Testing Bottom Up
Integration Testing Top Down
Integration Testing Results Report 21 test cases built 18 test cases passed Ratio: 85.7% 3 Bugs found: No insertion of IC card causes exception ( fixed ) Printer functions abnormally with the interface of module 8 & 9 ( fixed ) Output information of IC card functions abnormally with the interface of module 8 & 10 ( fixed )
Function Testing
Function Testing Results Report 11 test cases built 11 test cases passed Ratio: 100%
E2E Testing Emulate the scenarios of the work flow
E2E Testing Result Screen Shot
E2E Testing Results Report 9 test cases built 8 test cases passed Ratio: 88.89% 1 bug found: Counter pattern transition error when the time enters night from day ( fixed )
Total Results Report Total: 57 Test Cases 52 Test Cases Passed 90 % of Requirements represented by Test Cases 100 % of Requirements implemented 5 Bugs found
Software Implementation Technology report 1 Problem & Plan 2 Design & Implementation 3 Testing 4 Summary
Things we could have done better Shorter time cost on implementation Use Multi-Threads to build a more real taximeter Do more test cases Use regressing testing to improve the quality of test cases
What we learned How to run a project. How to make schedule. How to convert requirements to design model How to solve tough problems How to make a test plan How to make test cases cover the requirements Use testing to drive the developing( TDD )
Things we liked about this class Show the bright face of Microsoft Know the process of software development in Microsoft Contact with top software engineers in the world Happy to visit the MSRA
Things we want more... More interesting demos wanted More introduction of new trend of software research wanted More time to develop the mini project