Software testing testing strategy



The basis of the first part of the software testing strategy

Why write a test strategy? Test strategy is to plan how to carry out software testing.Test strategy's objectives include:

Obtain stakeholders (such as management, developers, testers, customers and users) the consistency of objectives;

Expectations from the beginning stages of management;

To ensure that "development in the right direction";

Identify all types of tests to be carried out.

1, strategies and software testing strategy

(1) strategy: under the guidance of a certain political line, according to the provisions of the specific conditions of struggle of principles, ways and means.

(2) software testing strategy: at a certain software testing standards, test specifications under the guidance of test items based on the specific environmental constraints and requirements of software testing principles, modalities, methods of collection.

Testing strategy to provide global analysis to test and identify or reference:

Project planning, risk and needs;

Related rules, policies or instructions;

The required process, standards and templates;

Support the criteria;

Stakeholders and their test objectives;

Testing and evaluation of resources;

Test levels and stages;

Test environment;

Various stages of completion criteria;

Documentation required for testing and inspection methods.

2, the importance of software testing strategy

(1) a complete or exhaustive test test workload is huge, does not work in practice, any actual test procedures are not measured can not guarantee that omission errors or defects;

(2) In order to maximize the less this omission, while minimizing errors that may exist in the implementation of tests before determining the appropriate test methods and test strategies, and as a basis to develop detailed test cases.

3, the purpose of software testing strategy

Software testing is not all test methods must be used to test the existing software? The answer is no.According to the nature of the software itself, the different sizes and applications, we will choose a different testing program, with minimal hardware and software, human resources into the best test results, and this is the objective of the test strategy.

4 Factors Affecting Software Testing Strategy

Software testing strategy changes as the software life cycle, software testing methods, techniques and tools of different changes.This requires us, when in the development of test strategy, test strategy should be taken into account the influence factors and their dependencies.These factors may include: test items resource factors, the project constraints and special needs of the test project.

5, software testing strategy formulation process

(1) Input

Requires a detailed description of the hardware and software resources;

For the test and schedule constraints and needs of the roles and responsibilities of human resources;

Test methods, testing standards and completion criteria;

Target system functional and technical requirements;

System constraints (that is, the system can not provide the demand) and so on.

(2) Output

Approved and signed test strategy document, test cases, test plans;

Projects need to test the solution;

(3) process

1) Identify the needs of the test

Test requirements are determined by test content, testing a specific object.In the analysis of test demand, a few general rules can be applied to the following:

Testing needs to be observable, measurable behavior.If you can not be observed or assessment test requirements, it can not be evaluated to determine the requirements have been met.

In each use case or system requirements and testing needs to add between one to one relationship does not exist.Use cases often have multiple test requirements; some additional demand will be derived from one or more test requirements, and other supplementary requirements (such as market demand or packaging requirements) will not derive any test requirements.

Testing requirements may have many sources, including the use case model, supplementary requirements, design requirements, business use cases, interviews with end users and software architecture documentation.All these sources should be examined to collect information used to determine testing requirements.

2) to assess risk and determine testing priority ¤

Successful testing requires the test to successfully balance work and risk factors such as resource constraints.To this end, should determine the priority of testing for the first test for the most important and most meaningful or most at risk cases or components.In order to determine the priority of tests required to perform risk assessment and implementation of the outline, and as the basis for determining priority of the test.

3) Determine the test strategy

A good test strategy should include: the type of test and test the implementation of the objectives, the implementation phase of testing technology, test results and test for assessing whether the completion of the evaluation and criteria described in the testing strategy of testing the existence of specialmatters and so on.

How can I determine a good test strategy? We can test the technology-based testing strategy, testing strategy based on test two aspects of the program to answer this question.

① testing technology based on the points test strategy

Renowned testing experts using a variety of test methods are given a comprehensive strategy:

All cases the boundary value of the test method must be used;

Equivalence classes when necessary, by using the method to add a certain number of test cases;

Control program logic, test case checks the logical design coverage to see whether they have met requirements;

If the program functional specifications enter the article containing combinations, have begun to select the cause and effect diagram method.

② testing strategy based on the test program

Based on test methods for testing strategy, in general, should consider the following aspects:

According to the importance of the program will result in the event of failure and the loss of the test to determine its grade and test key;

Careful study, using as few test cases found as many bugs, lack of testing to avoid excessive and testing!

The second part of the method of test strategy

Software testing strategies, methods and techniques are varied.For software testing technology, can be classified from different perspectives: from the need to test the software implementation point of view, can be divided into static and dynamic tests.From the test if the internal structure for the system and the specific algorithm point of view, can be divided into white-box testing and black box testing.

1. Static method and dynamic method

The so-called static method is not run test program itself, or check the source by analyzing only the grammar, structure, process, interface to check the correctness of the program.Static method of static characteristics by program analysis to identify gaps and suspicious, for example, the parameters do not match, inappropriate and branch nested loop nest, do not allow recursion, unused variables, null pointer references andsuspicious calculation.Static test results can be used for further troubleshooting, and provide guidance for the test cases selected.

Dynamic method is tested by running the program, check the running difference between the results and expected results, and analyze the efficiency and robustness properties, this method consists of three parts: structural test cases, execution, analysis program output.

2. Functional testing and structural testing

(1) functional testing

Functional testing is defined as the function of the abstract program, based on the success of the program can be divided into units, and then on the basis of the data abstraction for each functional unit to generate test data for testing.When tested in this way, as a test program is not open the black box and can not understand its internal structure, so-called black box testing.

Black box testing, also known as functional testing or data driven testing, which is known to be a functional product, through the test to detect whether each feature is normally available.In the test, the program can not be opened as a black box, without considering the procedures in the internal structure and internal features of the case, the test program interface in the test only checks whether the program functions in accordance with the provisions of the normal requirements specifications using, the proper procedures to receive input data and produce the correct output, and to maintain the integrity of external information.

Functional testing, test the software's input domain and output domain is often infinite, so exhaustive testing is usually not feasible.Strategies must be some kind of software specifications, so as to come test suite, a comprehensive and efficient as possible to test the software.The following description of several functional tests for the method:

equivalence class by a.

The so-called equivalence classes, refers to a set of input fields, the collection of each input is equivalent to expose bugs, and the program's input domain is divided into several parts, and then select from a small number of representatives of each partof data as a test case, this is the equivalence class partition method.It is the basic method of functional testing.

b. Law of Cause and Effect Diagram

Cause and effect diagram is a form of language, written in natural language specifications by the conversion made, this form of language is actually a simplified notation using digital logic diagram.Causal mapping is to help people select a set of systematic and efficient method of test cases, in addition, it also pointed out that the program specification is not complete and ambiguity.

c. boundary value analysis

Practice has proved that the software in the input and output fields prone to errors near the border, boundary value analysis is to consider the boundary conditions of a functional test cases selected test method.The so-called boundary conditions, is relative to the input and output equivalence classes directly in its edge, slightly higher than and lower boundaries of these states of their conditions.Boundary value analysis is an effective complement equivalence class division.

(2) structural testing

Structural testing is based on the internal structure of test procedures designed a test case class test, also known as white-box testing.White-box testing, also known as structural testing or logical drive test, it is to know the inner workings of the process of product, test to detect the product by the internal action is in accordance with the normal provisions of the specification, internal structure according to the procedures testing procedures, inspection procedures for eachArticle access requirements are there to work properly scheduled, regardless of its function.The main methods are the logical drive, based road testing, mainly for software validation.White-box method the logical structure of a comprehensive understanding of the internal procedures of all logical paths to be tested.White-box method is the exhaustive path testing.When using this program, the test procedure must check the internal structure of the logic to proceed from the inspection procedure, test data obtained.Independent paths through the program number is astronomical.But even if each path are tested may still be wrong.First, the exhaustive path testing procedures must not violate the design specifications found that the program itself the wrong program.Second, the exhaustive path testing procedures can not detect the fault due to missing the path.Third, exhaustive path testing may be able to detect a number of data-related errors.

The difference is that with the functional testing, structural testing procedures involved in the internal structure.Although users tend to specification-based functional test program, but the structure of the logic of the test can identify potential errors, and this error is often found in functional tests can not.Each has advantages and disadvantages, often used in combination.

The third part of the sample test strategy document

● Purpose:

(1) scope of testing, which features to include and which to exclude

(2) Who is the customer and end user, who is the acceptance of test results were

(3) the order and schedule test

(4) Acceptance of conditions, success factors, constraints

● resource requirements:

(1) to plan and run the test What are the skills and experience

(2) the roles and responsibilities of relevant personnel

(3) who will work for the overall coordination of the test

(4) Who is responsible for test data management, version control, bug tracking

● Testing Environment:

(1) how to test the system configuration

(2) What automated tools

(3) What are the test data (database and input transactions), how to install

(4) How do you adjust the system clock before

● testing process:

(1) which is running tests to follow the process (setting, implementation, record)

(2) how to develop test cases, what is the standard format

(3) the coverage of test cases What are the requirements defined

(4) has encountered a problem how to determine the severity of the problem how to deal with.