Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementation Phase Programming-in-the-many Programming-in-the-many Most real-life products are too large to be implemented by one programmer Most real-life.

Similar presentations


Presentation on theme: "Implementation Phase Programming-in-the-many Programming-in-the-many Most real-life products are too large to be implemented by one programmer Most real-life."— Presentation transcript:

1 Implementation Phase Programming-in-the-many Programming-in-the-many Most real-life products are too large to be implemented by one programmer Most real-life products are too large to be implemented by one programmer Implemented by a team Implemented by a team Working at the same time on different components of the product Working at the same time on different components of the product Testing/Module reuse/CASE tool Testing/Module reuse/CASE tool

2 Implementation Phase Fourth Generation Languages (4GL) 1GL: a binary machine code 1GL: a binary machine code 2GL: assemblers (1940-50s) 2GL: assemblers (1940-50s) 3GL: high level languages (FORTRAN, ALGOL 60, COBOL, etc) 3GL: high level languages (FORTRAN, ALGOL 60, COBOL, etc) 4GL: DB2, Oracle, PowerBuilder, SQL (1970s) 4GL: DB2, Oracle, PowerBuilder, SQL (1970s) shorter (30-50 MCI), shorter (30-50 MCI), easier to maintain/use, easier to maintain/use, CASE Tool: more productive, cost effective CASE Tool: more productive, cost effective

3 Implementation Phase Good Programming Practice Good Programming Practice Use of consistent and meaningful identifier names Use of consistent and meaningful identifier names Self-documenting code/documentation Self-documenting code/documentation Use of Parameters Use of Parameters Code layout for increased readability Code layout for increased readability Coding style for incremental programming (Module reuse) Coding style for incremental programming (Module reuse)

4 Implementation Phase (Types of Errors) Syntax Errors Syntax Errors Logic/Algorithm Errors Logic/Algorithm Errors Branching too soon/ too late Branching too soon/ too late Testing the wrong condition Testing the wrong condition Initialization errors Initialization errors Data type mismatch Data type mismatch Incorrect formula or computation Incorrect formula or computation Documentation Errors - mismatch between documentation and code; leads to difficulties especially during maintenance Documentation Errors - mismatch between documentation and code; leads to difficulties especially during maintenance

5 Implementation Phase (Types of Errors) Capacity Errors - system performance degradation at capacity Capacity Errors - system performance degradation at capacity Hardware Errors Hardware Errors Throughput/performance Errors Throughput/performance Errors Computation/precision Errors Computation/precision Errors Stress/overload Errors Stress/overload Errors Recovery Errors - error handling faults Recovery Errors - error handling faults Standards/Procedures - created/introduced as the system is tested & modified Standards/Procedures - created/introduced as the system is tested & modified

6 Implementation Phase (Testing Principles) Process of finding errors Process of finding errors Impossible to completely test software Impossible to completely test software Creativity and hard work required Creativity and hard work required Error prevention Error prevention Independent testers Independent testers

7 Implementation Phase (Testing Steps) Select what is to be measured by the test and decide how the code will be tested Select what is to be measured by the test and decide how the code will be tested Develop the test cases for the code and determine the correct results for the test cases Develop the test cases for the code and determine the correct results for the test cases Execute the test cases and compare the actual results with the expected results Execute the test cases and compare the actual results with the expected results Regression Testing -If errors are discovered, earlier test cases should be re-executed. Regression Testing -If errors are discovered, earlier test cases should be re-executed.

8 Black-box Testing Black-box Testing focused on inputs and outputs of a module: equivalence partitioning, equivalence class contains similar test cases (reduce redundancy) focused on inputs and outputs of a module: equivalence partitioning, equivalence class contains similar test cases (reduce redundancy) equivalence Testing & Boundary Value Analysis equivalence Testing & Boundary Value Analysis If valid input is a range of values, there are a minimum of three equivalence classes: one below the range, one within the range, and one above the range If valid input is a range of values, there are a minimum of three equivalence classes: one below the range, one within the range, and one above the range If valid input is a value from a discrete set of values, there are two equivalence classes: valid, discrete values and any other input values. If valid input is a value from a discrete set of values, there are two equivalence classes: valid, discrete values and any other input values.

9 Black-box Testing Functional Testing Functional Testing demonstrate that all functions work according to requirements and specification document demonstrate that all functions work according to requirements and specification document determining all the functions of the module determining all the functions of the module test data are devised to test each function separately test data are devised to test each function separately If the module consists of a hierarchy of lower-level functions, functional testing proceeds recursively. If the module consists of a hierarchy of lower-level functions, functional testing proceeds recursively. OSBERT OGLES BY CASE STUDY (13.16) OSBERT OGLES BY CASE STUDY (13.16)


Download ppt "Implementation Phase Programming-in-the-many Programming-in-the-many Most real-life products are too large to be implemented by one programmer Most real-life."

Similar presentations


Ads by Google