First, the definition of system testing
System test, the English is the systems testing. Is the confirmed software, computer hardware, peripherals, networks and other elements together to carry out a variety of information system assembly testing and validation testing, system testing is for the entire product system testing, the purpose is to verify that the system meets the requirements of the definition of specifications, to find out the requirements of the specifications inconsistent with or inconsistent with the place, Thus, a more perfect solution is proposed. After the system test finds the problem, it is debugged to find out the cause and location of the error and then correct it. is a black box class test based on the overall requirements specification of the system, which should cover all the components of the system. Objects include not only the software to be tested, but also the hardware on which the software relies, peripherals and even some data, some supporting software and its interfaces.
Ii. types and contents of system testing
Ability testing, GUI testing, performance testing, stress testing, capacity testing, robustness testing, security testing, reliability testing, recovery testing and backup testing, protocol conformance testing, compatibility testing, installation testing, usability testing, configuration testing, documentation testing, acceptance testing, regression testing
(1) Functional Testing
1. Functional testing is the most basic test in the system testing, he regardless of the implementation logic of the software, mainly according to the requirements of the product specification and test requirements list, to verify that the functional implementation of the product to meet the requirements of the product specifications.
2. Errors are identified: whether there is an incorrect or missing function, whether the functional implementation meets the needs of the user and the hidden needs of the system design, whether the input can be correctly accepted, and the results can be output correctly.
3. Analysis Method:
A. Marking each specific functional requirement
B. label each feature requirement that may be hidden
C. Classification analysis of possible functional anomalies, and marking
D. Grading the functional requirements obtained from the above 3 steps (critical, non-critical)
E. Analysis of each function (whether measurable, how to test, possible inputs, possible outputs)
F. Scripting, automation
4. Use case design methodology
A. Equivalence class partitioning
B. Boundary value analysis
C. Causality diagram
E. Decision tables
F. Error-guessing method
(2) GUI test
1.GUI testing is a form of functional testing. Not only to consider the GUI itself test, but also to consider the GUI performance of the system function test
What 2.GUI should have: compliance with standards and norms, intuition, consistency, flexibility, comfort, correctness, practicality
(3) performance test Concept
1. Performance (performance) test main check whether the software meets the requirements of the specifications specified in the various performance indicators, and meet some performance-related constraints and constraints
2. Performance Test Content
Ability to evaluate the system. Data such as load and response time obtained in the test can be used to validate the planned model and help make decisions. Identify weaknesses in the system. The controlled load can be increased to an extreme level and break through it, thus repairing the bottleneck or weak place of the system. System tuning. Run tests repeatedly to verify that the activity of the tuning system has the expected results, improving performance and detecting problems in the software.
(4) pressure test
A stress test (load test, concurrency Test) (Stress testing) is a simulation of a huge workload to see if the system can function properly in peak usage situations. Stress testing is a test of the maximum service level provided by system performance by progressively increasing the system load to test system performance changes and ultimately determining under what load conditions the system performance is in a failed state.
(5) capacity test
The so-called capacity test (capacity testing) refers to the use of specific means to test the system can carry the limit values of processing tasks performed by the test work. The specific means here is that the tester according to the actual operation may appear the limit, manufacturing the corresponding task combination, to stimulate the system to limit the situation.
(6) robustness Test
The robustness test (robustness testing) is primarily used to test the system's ability to withstand errors. The error here usually refers to a system error caused by a design flaw. The focus of the test is whether or not to automatically recover or ignore failures to continue running when a failure occurs
(7) Safety test
Security testing is to check the system's ability to guard against intrusion, and the purpose is to find out whether there are any security holes in the software system. Software security refers to the ability to not have a security incident under abnormal conditions. Security is generally divided into two tiers, namely application-level security and system-level security
(8) Reliability Test
Functional testing of the software for software reliability estimation in a representative environment. Software reliability under the specified conditions, in the specified time, the software does not cause system failure probability. This probability is a function of system input and system use, and also a function of failure in the software, and the system input will determine if there is a fault.
(9) Recovery test and backup test
Resiliency testing primarily checks the system for fault tolerance. Can you fix the error within a specified time interval and restart the system when the system is faulted. Backup testing is a complement to resiliency testing and a part of resiliency testing. The purpose of the backup test is to verify the system's ability to back up data in the case of software or hardware failure. 、
(Ten) protocol conformance testing
The main test protocol implementation is strictly follow the corresponding protocol description; Interoperability testing is concerned with the interconnection between different protocol implementations for the same protocol standard.
(one) compatibility test
Compatibility testing refers to checking that software is able to interact and share information correctly. Software compatibility testing of new software needs to be addressed:
1. What other platforms and application software are the software design requirements compatible with?
2. If the software to be tested is a platform, then what application does the design require to run on?
3. What definition of software should be adhered to in local standards or norms?
4. What data does the software use to interact with and share information with other platforms and software?
(a) installation test
The first step in the software to implement its functionality (in addition to the embedded software) is the installation operation. Ideally, a software installation program should be better compatible with the existing system, and have a corresponding prompt interface for users to refer to, installation completed and realize its function. If there is no proper installation test in advance, causing the software installation error or failure, then the software is not properly executed, so the installation test is very important. The purpose of the installation test is to verify the system's ability to install successfully, and to ensure that the program will function properly after installation. Therefore, a clear and simple installation process is the most important part of the system documentation.
Usability Testing
Usability testing (usability testing) is a user-friendly test that refers to a series of methods that are used to improve usability during the design process.
Summary of System tests