【Software Testing】A record summary of knowledge related to software testing

Test Driven Design

One of the best ways to design and develop software is to think about the desired outcome from the start, which can be achieved by employing Test Driven Development (TDD) .

Software testing should run through all stages of software development. Corresponding test plans and test design documents should be written in the requirements analysis and design stages. At the same time, technical review and verification should be carried out in each development stage.

Glossary

White-box testing (also called structural testing or logic-driven testing)

It is a test method for the internal structure of the software.

Black box testing (also known as functional testing or data-driven testing)

It is a test method for the external performance behavior of a software system.
Black-box testing does not focus on the internal structure of the software, but evaluates the quality of the software based on the user's experience and verifies whether each function of the product can be used normally.

static test

The code does not need to be compiled and simulated. Static testing is a review of a software product's requirements specification, design specification, and code review.

dynamics test

Find errors by running the program.

unit test

The test object of unit testing is program code. Ensuring that each unit module is correctly coded is the main goal of unit testing, not only to test the functionality of the code, but also whether the structure is reliable and sound, and whether it can respond correctly under all conditions.

Regression Testing

After modifying the originally tested code, re-test to confirm that the modification did not introduce new errors or cause errors in other code.

pressure test

By simulating the software and hardware environment of the actual application and the system load of the user's use process, the test software is run for a long time or under a super load to test the performance, reliability and stability of the system under test.

load test

Test the performance of your system under various workloads.

Concurrency testing

The concern is whether there are deadlocks or other performance issues when multiple users access the same application, module, or data at the same time.

Fatigue Strength Test

Test how long the system can perform in a steady state.

Compatibility test

Can it run normally in different network environments, operating system platforms, and application software?

About automated testing

Automated testing is to achieve a large number of repetitive operations by writing scripts, which has great advantages for operations that are not logically strong or for performance testing, stress testing, etc.
Automated functional testing tools: QTP/UTF, WinRunner, Rational Robot, AdventNet QEngine, SilkTest, QA Run, Test Partner, Selenium

Test case design method

Equivalence Class Partitioning

  • It is an important and commonly used black box test case design method.
  • The method divides all possible input data into subsets (ie, equivalence classes: internal data are equivalent to uncovering bugs in the program), and then selects a few representative data from each subset as test cases.
  • Based on the requirements specification, the requirements for input and output in the specification are distinguished and decomposed.
    (For the description of the requirements, it can be found that the nouns in the description will eventually become the input and output, and the verb will become the processing action)
  • Equivalence classes can be divided into valid equivalence classes (reasonable, meaningful input data) and invalid equivalence classes (irrational, meaningless input data). Test cases must contain valid equivalence classes and invalid equivalence classes, and there can be more than one of the two equivalence classes.

Boundary value analysis

  • A black-box testing method for testing the boundary values ​​of an input or output.
  • Boundary value analysis is used to supplement the equivalence partitioning method, instead of selecting any element of the equivalence class, it selects the test cases of the equivalence class boundary.

cause and effect diagram

  • Describes the relationship between causes (inputs) and effects (outputs), as well as combinations of complex relationships between causes and effects.
  • Constraint relationship of cause and effect diagram:
    1. Exclusive constraint: each cause cannot be true at the same time, but can be false at the same time.
    2. Inclusive Constraint: One of the causes is always true, which can be true at the same time, but not false at the same time.
    3. Necessity constraint: when reason a is true, reason b must be true at the same time; but when reason b is true, reason a can be either true or false.
    4. Uniqueness constraint: One and only one of cause a and cause b is true.
    5. Result constraint: If the result b is true, then the result a must be false; if the result b is false, the state of the result a is uncertain.

Test case writing template

A test case needs to include the following points:
- Identifier: the number of the test case
- Test item: the content (function) to be tested
- Test environment requirements: such as whether to use browser cookies
- Input
- Output
- and other test cases association

Software performance metrics:

Response time (also called wait time)

The complete response time is the sum of the response time of all the components involved in the application, including the client, application server, database server and network connection, etc. The time unit is usually expressed in seconds or milliseconds.

Throughput

The number of client requests processed by the application system in unit time, usually expressed as requests per second or pages per second. Software performance is aimed at pursuing high throughput.

resource utilization

The degree of use of various resources in the system, such as the server's CPU, memory, disk, network bandwidth and other resources.

concurrent users

The number of user requests that the system can process simultaneously in a given time.

"Software Testing Technology" by Feng Lingxia

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325875499&siteId=291194637