The art of software testing _ reading notes (5)

Chapter 4 Higher Level Testing

1. Software development process

When the program cannot achieve the reasonable function required by its end user, a software error occurs

Software development process: Communicate information about the final program and transform the information from one form to another. Due to the conversion of information, most software errors can be attributed to failures, errors, and interferences that occur during information communication and conversion.

Solution:

  1.  When the requirements and design are generated, the output of each step is verified with the result of the previous step. If there are inconsistencies or unclear points in the verification, they need to be fed back to the design process for this step.
  2. Use different test methods at different stages, compare the output of each step of the test process with the original expectations, multiple test processes can be parallel;

Definition of different test phases:

  • Module test: In order to find the inconsistency between the program module and the interface specification
  • Functional test: In order to prove that the program fails to meet the functional requirements of the external specification
  • System testing: To prove that the software product is inconsistent with its original goal
  • Acceptance test: In order to verify the inconsistency between the software and the user's confirmation requirements

2. Functional test

 

Functional test: The process of discovering inconsistencies between the program and the external specifications

External specification: an accurate description of the program behavior from the end user's perspective

Functional testing mainly uses black box testing methods to refine the analysis of specifications, analyze user usage scenarios, and output test cases.

note:

  1. Tracking those functions exposes the most errors, and the functions associated with it may have more undiscovered errors
  2. Give sufficient attention to invalid and unexpected input
  3. Purpose: To expose program errors and discover inconsistencies between the program and the specification, not to prove that it conforms to the specification

3. System test

System testing: Compare the system or product with its initial target, and look for inconsistent processes

  1. System testing is not limited to the system. If the product is a program, the program as a whole is used to judge whether it meets its goals
  2. By definition, if a product does not have written, measurable goals, system testing will not be possible

System test problems:

  1. External specifications cannot be used as the basis for system test cases.
  2. The description of the target document on the system cannot represent the test case, it may be vague and useful description

Solution:

  1. Analyze target documents to design test cases
  2. Analyze user documentation to clarify test cases

System testing: System testing uses a variety of different test case design methods, not describing a technology, but discussing different types of system test cases

Classification of system test: Select according to actual situation

Serial number

 classification

 Description

1  Ability test  Ensure that the target function of the program is achieved
2 Capacity test  It is found that the program is abnormal when the program is processing large capacity, and the size of the capacity
3 Strength test  Discover anomalies in large-scale load, high-intensity, uninterrupted and continuous data processing
4 Usability testing  Evaluate the usability issues of end users using and interacting with the software

5

Security test  Attempt to break the security lines of the program
6

Performance Testing

Assess system response time and throughput bottlenecks
7 Configuration test  Check whether the program can run normally on the default configuration and modify the configuration parameters to take effect
8  Storage test  Ensure that the program correctly handles the need for storage, physical storage and database storage,
9

Compatibility/Conversion Test Test

Assess whether the new version is compatible with the old version
10 Installation test  Ensure that the program can be installed successfully on the supported platform
11 Reliability test  Assess whether the program can meet the operating time and mean failure requirements of the specification
12 Recoverability test  Test whether the system restores related functions according to the design requirements
13 Service/maintainability test  Evaluate whether the system has a good data processing and log system, and the monitoring system is convenient for operation and maintenance
14

Document test

Verify that all user documents are accurate
15 Process test  Evaluate and determine the processes involved in the operation or maintenance of the software system

3.1 Ability test

Definition: Comparing the user-provided documents to determine whether the program meets the requirements in the document's ability,

Note: Different from the functional test, the functional test checks the requirements document

3.2 Capacity test

Definition: Prove the maximum capacity of the program to process large-capacity data, and the system crashes beyond this capacity;

3.3 Strength test

Definition: reaching the peak of the number of data or operations in a short time, data surge, relative intensity test, capacity test considering time factor,

Note: The user group of the software should be analyzed, and the intensity test should be done according to the actual situation to reflect the situation of the largest group of people visiting the site

3.4 Usability testing

Definition: Also called user experience test, human-computer interaction test

3.5 security test

Definition: During the use of the software, there must be no data leakage, stolen, and hacker attacks that cause the system to crash;

3.6 Performance test

Definition: Under a specific load and configuration environment, the response time and throughput of the program can meet certain goals

3.7 Performance test

Definition: The program has a storage target. It is necessary to check the storage file capacity, temporary file size, and disk storage overflow.

3.8 Configuration test

Definition: Large-scale programs have many configuration parameters, and different configurations correspond to different operating environments. Test whether the configuration takes effect and meets expectations

3.9 Compatibility/Conversion Test

Definition: The compatibility test has the new version compatible with the old version, the new system is compatible with the data converted from the old system, and the compatibility between different interrupt devices

3.10 Installation test

Definition; The installation of some software is particularly complicated, and testing whether the installation can be successful on different systems or devices is an important part of the test

3.11 Reliability test

Definition: Quantitative evaluation or verification of software reliability, testing the software in order to meet and verify the quantitative requirements of software reliability, discover possible failures in the software, and design reliability schemes for these failures to ensure the reliability of the software , Can provide services under any circumstances;

3.12 Recoverability test

Definition: Part of the software has recoverability test requirements, if certain position conditions occur, it can be restored to the initial state or the specified state of the recoverability test

3.13 Service/Maintainability Test

Definition: The maintainability goal refers to the provision of operation and maintenance functions, convenient positioning, convenient debugging, convenient analysis of problems, and the ability to quickly repair the test of the system or program;

3.14 Documentation test

Definition: Check the correctness of the user documentation, and the interface documentation is positively determined

3.15 Process testing

Definition: Larger systems will provide operating documents. Test the provided operating procedures according to the instructions of operating documents. Because the actual operations may not be professional, the procedures should be written very clearly and correctly.

4. Acceptance test

Definition: Acceptance testing is generally done by the customer, not the responsibility of the development organization

Note: The tester has done a complete test from the customer's point of view, the customer may still be able to test the problem

5. Installation/Upgrade Test

Definition: Discover the problems that may occur in the software installation, and the content that must be provided when the software is released during the software installation to ensure that there is no error

6. Test plan and control

Question 1: The most common error in the testing process is that software defects will not be found by default and prove that the software satisfies the function. The result of this error is that the estimated resources invested in the plan are underestimated, and it is easy to cause the plan to be inaccurate?

Question 2: The team’s definition of software testing is incorrect. The goal of testing is to find errors (the team does not necessarily have such a consensus). Is there a possibility that there may be problems on the line and cause re-testing?

A good test plan should include:

aims  Define the goals of each test phase and define the scope of the test
Closing criteria Develop the criteria for the end of the test
schedule Test design, test script writing, specific time schedule from test execution to completion
responsibility  Who will design, write and execute test cases at each stage, and be responsible for the test results
Test case library and standards  Public testing tool library or directly available open source library, etc.
test tools  Necessary testing tools, if not available, you may need to purchase
Environmental preparation time  The time to prepare before starting the test, software installation, machine purchase, etc.
Configuration  The hardware configuration and software configuration documentation should be as detailed as possible.
integrated  In the testing process, module testing is usually performed first, and finally integrated testing will be performed to ensure the quality of testing and testing
Follow-up steps  Defect tracking, progress tracking, risk control, etc. during the testing process, all aspects of the testing process need to be tracked
Debugging steps  The defects raised during the test need to be tracked and modified, after listening to debugging and locating the problem, finding the problem, and then solving the problem
Regression Testing  After optimizing and modifying the program, perform a complete regression test to determine whether the modification has caused other problems and the optimization has indeed been achieved.

 

Guess you like

Origin blog.csdn.net/LoveG_G/article/details/114122749