12.1 introduction checklists are used as a technique to give status information in a formalized...
TRANSCRIPT
ChecklistsChecklists
12.1 IntroductionChecklists are used as a technique to give
status information in a formalized manner about all aspects of the test process. This chapter contains the following categories of checklists: checklists for quality characteristics; general checklist for high-level testing; general checklist for low-level testing; test design techniques checklist; checklists concerning the test process.
12.2 Checklists for quality characteristics connectivity; reliability; flexibility; maintainability; portability; reusability; security; testability; usability.
ConnectivityConnectivity is the capability of the system to
establish connection with different systems, or within this (distributed) system.
ReliabilityReliability is the capability of the system to
maintain a specified level of performance when used under specified conditions.
The quality attribute “reliability” is divided into three subattributes – maturity, fault tolerance, and recoverability.
FlexibilityFlexibility is the capability of the system to
enable the user to introduce extensions or modifications without changing the system itself.
MaintainabilityMaintainability is the capacity of the system to be
modified. Modifications may include corrections, improvements, or adaptation of the system to changes in the environment, and also in requirements and functional requirements.
PortabilityPortability is the capability of the software to be
transferred from one environment to another.Reusability
Reusability is the capability of the software to enable the reuse of parts of the system or design for the development of different systems.
SecuritySecurity is the capability of the system to ensure
that only authorized users (or systems) have access to the functionality.
TestabilityTestability is the capability of the system to be
validated.
UsabilityUsability is the capability of the system to be
attractive to the user under specified conditions, and to be understood, learned, and used.
Usability is a rather subjective quality characteristic – just what usability means depends on the individual taste of a user. However, it is usually possible to identify different groups of users with their own demands. Another factor often ignored is the culture that influences the acceptance of the user interface. The only way to get a clear picture of the usability of a system is to let a user implement use the system as if it were in daily use. If it is thought that culture could be an important factor, the forum used should have a diverse cultural background, or otherwise use more forums.
To give a clear picture of the usability of a system, a questionnaire can be filled in by the members of the user forum. Possible items in the questionnaire include the following.
12.3 General checklist for high-level testingGeneralDivision into subsystems and interfacesFunction structureUser dialogQuality requirements
12.4 General checklist for low-level testingGeneralSystem structureProgram divisionProgram descriptionPerformance requirements
12.5 Test design techniques checklistControl flow test
The desired test basis is a flow chart, or a decision complemented by a description.
Classification-tree methodElementary comparison testStatistical usage testing and rare event testingState-based testing techniqueEvolutionary algorithmsSafety analysis
12.6 Checklists concerning the test processThe checklists in this section provide
guidelines for a diversity of activities concerning the test process. They are not exhaustive but can serve as a basis for constructing organization-dependent and project-dependent checklists. The following checklists are included.
Test project evaluation. This checklist contains attributes for intermediate and final evaluations of a project.
Global investigation of the system. This checklist can be used to support the global review and study activity from the planning and control phase.
Preconditions and assumptions. This checklist contains examples of preconditions and assumptions to include in a test plan.
Test project risks. The risks regarding the test project must be made explicit. This checklist contains a number of potential risks.
Structuring the test process. This checklist is used to assess the current situation of testing.
Test facilities. This checklist is useful for organizing and establishing the test infrastructure, the test organization, and test control during the planning and control phase.
Production release. This is a checklist for the determination of completeness of the product, test activities, production parameters, and production operations.
Coding rules. This checklist applies to the low-level testing activities concerning analysis of the code.
Test project risksThe project risks are identified and described
in the test plan. For each risk, the consequence and the solution, and/or measures to minimize the risk or consequences, are mentioned.