Reference no: EM132378851
ITC205 Professional Programming Practice Assessment - Dynamic Testing, Charles Sturt University, Australia
Tasks -
Part A - Master Test Plan
You are provided with a case study and a set of design documents and diagrams which support a use case. You are required to analyse the product and technical risks implied by these artefacts and develop a minimal 'Master Test Plan' which addresses these risks.
Quality criteria for a minimal master test plan include:
1. Provides an overview of the project objectives.
2. Identifies testing objectives in terms of problem domain outcomes.
3. Identifies areas of product and technical risk.
4. Identifies a test strategy for each risk (test level at which risk is addressed, extent and coverage of testing, including static testing approaches).
5. For each test level, identifies the test approach (test environment, test goals, entry criteria, exit criteria, defect response).
Part B - Dynamic Testing
You are provided with an implementation and a 'master test plan' which specifies the areas of concern, types of testing and coverage required for the application. You are required to implement a suite of dynamic tests to enact that plan using best practice testing techniques and procedures.
Unit Testing -
Implement a suite of unit tests according to the master test plan using best practice unit test techniques and processes.
These include:
1. Tests are well organised and well named.
2. Tests are well structured (Arrange, act, assert internal structure).
3. Tests are isolated (Tests only one code unit).
4. Tests are independent (Can be run in any order, don't depend on external services or state).
5. Tests for error conditions included.
6. Tests achieve appropriate level of coverage (as specified in the master test plan)
7. Each test tests only one thing (No logic in test, in general one assert per test).
8. Tests are automated (Do not require visual inspection to differentiate passing or failing).
9. Makes effective use of a test framework and test substitute library as appropriate (such as Junit, and Mockito).
10. Tests separated from production code.
Integration Testing -
Implement a suite of integration tests according to the master test plan using best practice integration test techniques and processes.
Use a 'bottom up' or 'top down' approach to check interaction between entities and between control and entity classes. Using your 'master test plan' as a guide, make sure you test the most critical and/or risky system operation. You are not required to test boundary (user interaction) classes.
Guidelines for best practice integration testing include:
1. Tests are well organised and well named.
2. Tests are well structured (Arrange, act, assert internal structure).
3. Tests are isolated to only those code units included in the intended level of integration.
4. Tests are independent (Can be run in any order, don't depend on external services or state).
5. Tests for error conditions included.
6. Tests achieve appropriate level of coverage (as specified in the master test plan).
7. Each test tests only one thing (no logic in test, in general one assert per test).
8. Tests separated from production code.
9. All levels of integration are addressed.
10. Tests are automated (Do not require visual inspection to differentiate passing or failing).
11. Makes effective use of a test framework and test substitute library as appropriate (such as Junit, and Mockito).
System Tests -
On the basis of the requirement and design documentation identify some system test cases which can be used to check correct functionality in the implemented use case. Specify system test procedures, test data, and expected results. A template for a system test will be available in the Resources section of the subject's Interact site.
Carry out the system tests you specified. Use the test data and procedures specified and check that it meets stated acceptance criteria. Report on the success or otherwise of the test. Include screenshots as evidence of your results in your test reports.
System test quality criteria include:
1. Tests are well organised (test cases are organised into test scenarios addressing specific functional areas.
2. Test are well named.
3. Preconditions are completely and concretely specified.
4. Test data are completely and concretely specified.
5. Postconditions are completely and concretely specified.
6. Test steps and expected results for each step are completely and concretely specified.
7. Tests are objectively evaluated and supporting evidence for test results is provided.
Note - Need to do master test plan, test scripts and actual test vision and NFR is already done test needs to be done using JUnit.
Attachment:- Assignment Resources.rar