Слайд 1Test Design and Documentation
Слайд 2Test Design
Test design is to ensure that all requirements are met
through a series of test procedures, increasing the probability of the software being capable of what is needed and wanted by the client.
Test design should start the moment the system requirements have been approved and baselined.
The test design changes/adapts during the system development lifecycle’s iterations
Слайд 3Initial steps
We must first take into consideration the testing phase in
which the test will be executed, as there are different types of test appropriate for testing:
Security
Performance
Usability
Compatibility
Functionality
And other phases testing
Слайд 4Initial Steps Continued
Once we have done this we then review the
test plan, so as to understand the context and framework within the test objectives are defined.
To break down the testing tasks involved with test design we then have to ask ourselves the following questions:
Слайд 5What to test?
This should have been documented during the test planning
phase so all we have to do is to review our test plan.
When should test procedures be developed?
As already stated test procedures should be developed as soon as the requirements are approved. This question is more to do with what order tests should be developed. Higher priority test should be the first to be completed. The only exception to this rule is pre-cursor functions, as these are ran early regardless of there priority.
Слайд 6How should test procedures be designed?
Generally there is no single solution
to testing a whole system. What usually happens is each part of the system and how each part is integrated is analysed and then we use the most appropriate and effective test for each part.
Who should develop the tests?
Once we have determined when, what and how something is to be tested, it should be reasonably clear who should be responsible for the different testing.
Слайд 7More Questions
We now have to consider the following:
What type of testing
techniques shall we use?
i.e. Black box or white box testing
What test should be automated?
i.e. Tedious repetitive data entry ones, cost analysis
What kind of test data is needed?
Слайд 8Test Procedure Template
A test procedure template should be mandated as soon
as it is possible to be applied. This is to ensure:
Consistency
Completeness
Repeatability
Слайд 11Test Procedure Standards
It is important that test design standards are documented,
communicated and followed by the whole development team. This is so that the required test information is produced.
These guidelines are necessary whether they are manual or automated test procedures.
The standards for manual test procedures should include an example of how much detail the procedure should go in.
The standards for automated test design are pretty similar to those of best coding practises.
Слайд 12Test Procedure Standards
While it is important to maintain and mandate a
test procedure template it is worth noting that the template should remain in a generic manner, omitting test data which is too specific.
This could lead to unnecessary duplication which could become both costly and time consuming.
Слайд 13Test-Design Techniques
The amount of test variations is endless, to narrow down
the amount of necessary test procedures we use certain test-design techniques:
Functional Analysis
Involves analysing expected behaviour against functional specifications, then generating one or more test procedure for each function
Equivalence Partitioning
Identifies ranges of inputs and initial conditions that produce expected similar results. It eliminates tests that are similar and hence narrows down the amount of tests to be concluded.
Слайд 14Test Design Techniques
Path Analysis
Is used by testing the internal paths, connections
and structure of a product and can be applied at two levels (code based, white-box testing during unit tests & functional/black-box testing by testers or users i.e. manually)
Boundary Value
Used primarily for testing input edit logic, i.e. tests that the checks used for filtering out invalid data are working correctly.
Слайд 15Test Design Techniques
Orthogonal Arrays
Allows the maximum amount of test coverage with
the minimum amount of test coverage, very useful for when there is a large amount of test input data or combinations of this data
Слайд 17Exploratory Testing
Exploratory testing is used in order to gain knowledge required
for designing appropriate and effective tests.
It is most appropriate when detailed design are either absent or not complete.
Exploratory testing produces test conditions with each iteration of the development lifecycle.
If a pattern occurs in the problems found early in exploratory testing , it helps focus the efforts of the later tests.
Слайд 18Summary
Test design is to ensure all requirements are met through a
set of procedures
We then review the test plan and ask ourselves what to test, when to test, how to test and who to test?
How to test in more detail, what tests should be automated, what type of testing techniques to use, what data do we need to be produced
Слайд 19More Summary
Testing techniques
Functional analysis
Equivalence partitioning
Path analysis
Boundary value
Orthogonal arrays
Exploratory testing