Study Diary on March 17, 2021

3.17 Review of learning

Today I learned the theoretical basis of software testing, including software quality and software testing design.

1. Software quality

Software quality is customer satisfaction. It consists of two parts, the quality of the software product and the quality of the software development process. The quality of the software product, that is, the extent to which the requirements for use are met (software quality characteristics); the quality of the software development process, that is, whether it can meet the cost, time, and risk requirements (CMM, ISO9000) brought by the development (CMM, ISO9000)
There is only a persistent improvement process The problem in this is the fundamental way to improve the quality of software products, but paying attention to the process does not mean ignoring technology. Software quality is not guaranteed by software testing. Software quality needs to be guaranteed by continuously improving the technical level and improving the software development process.
Requirements for testers to ensure software quality: Testers need to find defects and analyze and locate defects. Testers need to find potential defects that are difficult to be found. Testers need to develop test tools and automatic test scripts. Testers must be proficient in the entire business.
Software quality characteristics:
Software quality characteristics

2. Software test design

  1. Problems encountered in the testing process
    • I don’t know if everything has been tested comprehensively.
    • Test coverage cannot be measured.
    • Repeated testing of new versions is difficult to implement.
    • A large number of redundant tests affect testing efficiency.
  2. The concept and division of equivalence classes.
    Since it is impossible for us to perform exhaustive tests, we must classify the test content. Therefore, all input data can be divided into several equivalence classes, and one data in each equivalence class is taken as the input condition , You can use a small amount of representative test data to obtain better test results.
    Equivalence classes can be classified into valid equivalence classes and invalid equivalence classes.
    The effective equivalence class refers to the set of input data that is reasonable and meaningful for the specification of the program. The effective equivalence class can be used to verify whether the program achieves the functions and performance specified in the specification.
    Invalid equivalence classes are the opposite, referring to a collection of unpredictable, unreasonable, and meaningless input data that the program does not expect.
  3. **Based on the division of test cases
    Equivalence classification basis
  4. Test case design steps
    (1) First, specify a unique number for each equivalence class in the equivalence class table.
    (2) Design a new test case so that it can cover the effective equivalence classes that have not been covered as much as possible. Repeat this step until all valid equivalence classes are covered by test cases
    (3) Design a new test case so that it only covers an invalid equivalence class that has not been covered. Repeat this step until all invalid equivalence classes are covered by test cases
  5. Examples of test case design
    Insert picture description here
    (1) Analyze the requirements for input conditions given and implicit in the program specification, and list the equivalence class table (including valid equivalence classes and invalid equivalence classes).
    Age: One or two non-zero integers, the valid range of values ​​is 1~99
    Gender: One English character, can only take the value'M' or'F'
    Marriage: Character, can only take the value'married' or
    Number of'unmarried' dependents: blank or a non-zero integer (1~9)
    Equivalence class
    (2) According to the equivalence class table in (1), design test cases that can cover all equivalence classes.

Test case table

Guess you like

Origin blog.csdn.net/weixin_56039103/article/details/114944004