1 The concept of system testing
Definition of System Testing : The integrated software system, as an element of the entire computer-based system, is combined with other system elements such as computer hardware, peripherals, certain supporting software, data and personnel, and is tested in the Under the actual operation (use) environment, a series of assembly tests and confirmation tests are carried out on the computer system.
The object of system testing: the system where software and hardware are integrated, the integrated product should not be an independent software and hardware environment. It includes not only the software to be tested, but also the hardware and peripherals that the software depends on, and even some data, some systems that support the software, etc.
Purpose: By comparing with the requirements definition of the system, it is found that the software does not conform to or contradicts with the system definition, so as to verify that the functions and performance of the software meet the requirements specified in its specification.
Common system classifications:
Pure software: QQ...................
Software and hardware: mobile phone, PSP, air conditioner, elevator
Software, hardware and maintainers: large systems
2 Environment for system testing
Real environment: directly link the entire system with its cross-linked physical equipment for testing
Advantages: can find some problems that can only occur in real environments
Cons: Building such an environment is expensive, and it's also expensive to test run
Simulation environment: It can realistically simulate the input and output of the real physical environment required for the operation of the software under test, and can organize the input of the software under test to drive the operation of the software under test, and at the same time receive the output results of the software under test.
Advantages: The software dependencies of the simulation environment and the real environment are the same, and it can ensure the repeatability, integrity and scalability of the test
Example 1 : Requirements for building a certain system environment
Hardware environment:
CPU: main frequency above 2GHZ, 4 cores and above
Memory: 4GB and above
Hard disk: more than 10G free space
Software Environment:
Platform requirements: Windows XP/2003 Standard Edition + Apache2.2.X + Mysql5.0 and above
Directory permissions: directory /Attachment, /Cache and file permissions that need to be written
Recommended platform: XAMPP is recommended as the installation medium
Factors to be considered when selecting test tools:
1. The degree of matching between the test tool and the software system under test
2. The main functions and auxiliary mechanisms provided by the test tool
3. Service and technical support for testing tools
4. Price of testing tool
Test Data:
Features:
1. Data can exist in the form of messages, things, records, files, etc.
2. There are many sources of data
3. Real data is the best, but in many cases it is difficult or impossible to obtain
source:
1. Product data
2. Construct data manually
3. Generate data (generally constructed by tools and equipment)
4. Capture data (rarely used, related to capturing data sources, allowing manual modification)
5. Random data (rarely used in system testing, it is easy to obtain, not realistic enough, commonly used in performance testing)
product data
1. The most authentic
2. Cannot cover all the scenarios needed
3. The data is sensitive and it is difficult to guarantee the correctness
4. Changes over time
5. The amount of data may be too large (thus reducing the speed of test execution)
Constructing data manually
1. Time-consuming and boring
2. If there is a lack of understanding of the function of the system, the data is not true
3. Sometimes the only means of obtaining the unique data needed for a specific test case
generate data
1. Generally constructed from tools or equipment
2. The data depends on the sophistication of the tool and the tester's specifications on how to structure the data
capture data
1. Agnostic to capture data source
2. Allow manual modification
random data
1. Easy to get, not real enough
2. Very useful for strength or load testing
3 types of system testing
Common test types:
Functional testing (configuration testing, recovery testing, backup testing)
Performance testing (stress testing, stability testing, capacity testing)
GUI testing (usability testing)
compatibility test
Security Test (Network Test)
Installability test
document test
function test
Concept: According to the SRS and requirements list, verify whether the function realization of the product meets the requirements specification of the product
Target:
1. Are there any incorrect or missing functions (doing wrong or doing less)
2. Whether the function realization meets the hidden requirements of user needs and system design
3. Can it accept the input correctly and output the result correctly?
Functional test steps:
1. Label each specific functional requirement
2. Label each implicit functional requirement
3. Classify, analyze and label possible functional abnormalities
4. Divide functions into critical functions and non-critical functions
5. Test and analyze each function, analyze whether it is measurable, how to test it, possible input and output
6. Scripting and automation
Performance Testing
Concept: Used to test the performance of software in an integrated system
Goal: Measure various indicators of the system to confirm whether there are various performance bottlenecks in the system
Features: Mixed white box testing and black box testing approach
Two aspects of performance testing consideration:
1. Verify that the performance achieved by the system is completely consistent with the performance requirements
2. What is the specific performance of the detection system?
Common Approaches: Probes, Test Drive
Common tools: Loadrunner, WebLoad, SilkPerformer
GUI testing
Concept: Testing of Software System Interfaces
Goals: 1. Test the consistency between interface implementation and interface design 2. Confirm the correctness of interface processing
Focus: On the interface layer and the functional interface layer (the GUI system is divided into three levels: the interface layer, the interface layer between the interface and the function, and the function layer)
Common tools: QTP, QARun
compatibility test
Concept: Consider how the software under test will behave under other software (such as operating systems) or hardware devices.
Objectives: 1. Combination with auxiliary software (operating system, other applications, test software, monitoring software, browser, etc.); 2. Combination with hardware design (because compatibility testing requires more hardware, generally no Special requirements will only be tested against software requirements).
security test
Concept: To verify whether the protection mechanism integrated in the system can actually protect the system from illegal intrusion, and is used to protect the integrity and confidentiality of the data itself. In a broad sense, it also includes physical security and business security.
Scope: mainly consider several aspects: system login, user management, firewall, system data, WEB security, database security, internal communication, system anti-virus testing, etc.
Protection testing is a common test in security testing, mainly used to test the information protection mechanism of the system
Installability test
Concept: mainly based on the list of test features of the software, software installation, configuration documents, and test cases in the design of the installation process, to find errors in the software installation process.
Goal: Find errors in software installation, errors in installation manuals.
Inspection work to be done before installation test:
1. Whether the installation documents are complete
2. Whether the program files for installing the software are complete
3. Whether the tested installation files are complete
4. Whether the file format of the software matches the file format required in the installation guide
Commonly used automated installation testing software: Total Uninstall: It can monitor all software installation processes and record any changes it makes to the system FileRiver: Can automatically monitor and accurately record subtle changes in files and sub-files in multiple folders .
document test
Concept: Mainly for software requirements specification, installation manual, configuration guide and other documents, the test content is mainly to write specifications, correctness of content, unambiguity, and completeness.
Goal: Verify that the user documentation is correct and that the procedures in the runbook work correctly.
4 Process of system testing
Division of testing phases
System Test Planning Phase: Complete System Test Plan (Planning and Procedures)
System test design stage: complete the system test plan
System test implementation stage: complete system test cases, system test procedures, system test pre-test (smoke test) items
System test execution phase: Execute system test pre-test, system test cases, carry out regression test, verify repaired problems, submit system pre-test report, system test report, defect report
Process: Software Requirements Analysis, Design (Summary), System Testing (Execution)
stage |
entry criteria |
enter |
export guidelines |
output |
plan |
SRACompletion Requirements Specification Baseline |
software development plan Software Test Plan, SRS |
System test plan review and pass |
System Test Plan |
design |
System test plan review and pass |
System Test Plan, SRS |
System test plan review and pass |
System Test Solution |
accomplish |
System test plan review and pass |
System Test Plan System test plan, SRS |
System Test Cases System Test Procedure System test pre-test item review and pass |
System Test Cases System Test Procedure System Test Pre-Test Items |
implement |
System test cases, system test procedures, and system test pre-test items are reviewed and passed, and integration test execution is completed |
System Test Plan System Test Solution System Test Cases System Test Procedure System Test Pre-Test Items |
System test report review and pass |
System Pretest Report System Test Report bug report |
Roles and Responsibilities in System Testing
Development representative: resolve resource requirements and supervise system test results
QA: Quality assurance of the system testing process, participation in relevant reviews, and auditing of the process
Configuration management group: configure and manage system test documents, test codes and other related configurations
Software Development Group:
1. During the system test planning phase, provide the software development plan SDP and participate in the review of the system test plan
2. In the stage of system test design and implementation, provide SRS, requirement analysis, test suggestions, respond to system test requirements, and participate in the review of software system test plans
3. During the system test execution stage, track and solve the defect problem report of the software test project team, and participate in the review of the system test report
Software testing group:
1. In the system test planning stage, formulate the system test plan and organize the review
2. In the stage of system test design and implementation, formulate software test plan and organize review, implement test case, test code and test tool design according to software system test plan, and write test procedures
3. System test execution stage, execute system test, feedback and track defect report, complete system test report and organize review, output test case, summary and other experience documents
System Analysis Group:
1. Propose system testing requirements
2. Carry out test requirement tracking
3. Carry out software system testability analysis, determine the object, scope and method of system testing
Essentials of a System Test Plan
1. Clarify the test object of the system test
2. Complete the requirements tracking of system testing
3. Clarify system pass or fail criteria
4. Suspension criteria for system testing and necessary conditions for recovery
5. Clarify the assignment of system testing tasks
6. Work products to be delivered after system testing
Key points of system test design
1. Preparation of test environment and test data
2. Test tool development/scenario design
3. System test case design
4. Selection of testing strategy (eg: several rounds of testing)
The difference between system test plan and system test plan
System test plan: specify and constrain the organization, resources, principles, etc. of the whole process of system testing, formulate tasks and time schedules for each stage of the whole process of system testing, and propose evaluation, risk analysis and management requirements for each task .
System test plan: describe the characteristics of the system to be tested, the test method, the planning of the test environment, the design and selection of test tools, the design method of test cases, and the design plan of test codes. (detailed documentation of the design test method)
Note: The project needs to be carried out under the guidance of the system test plan. The system test plan proposes what to do, while the system test plan clearly states "how to do it".
System Test Execution Overview
1. According to a certain system test plan, according to the system test cases, complete the various operational tasks of the test
2. According to the system test plan, setting up the system test environment is an important step in the execution of the system test. The time of the test environment will seriously affect the authenticity and correctness of the test results
3. The system test execution phase should be completed: environment preparation, test operation, test record, test report
4. Timing of execution: execute the system test after the integration test execution is completed
System Test Pre-Test
Purpose: To verify the basic functions of the software system or predict the main system functions to ensure that the subsequent system test execution can go smoothly.
Schedule: System pre-test should be carried out after the development project team submits the application for software version transfer to system test, mainly the "Software System and Test Report" that needs to be input to complete the transfer to system test review.
Personnel arrangement: The main body that performs the activities of verifying the basic functions of the software can be the software development project team or the software testing project team or a joint organization.
Transfer system test review
1. The main body of the review responsibility is the software project testing team, which needs to complete the software transfer system test review form
2. After the software version transfer system test passes, the system test process can be started
3. After the system test process is started, the software version, test code, document, environment, etc. related to the system pre-test should be baselined in the configuration management
System test report writing and review
1. According to the test pass of the system test plan, after the system test is completed, write a system test report
2. The system test report needs to pass the review, and the responsible person is the software test project team, which is participated by the software development project team, configuration management team and QA
3. If the review fails, the system test report will be returned. Submit an application for review after reviewing non-conformities and resolution of issues, or restart the system testing process
4. After passing the review, system test related documents, codes, tools, etc. must follow the software code and development documents to complete the configuration baseline, and the system test process is over
Purpose of Writing a System Test Daily
1. Testers summarize the daily test work, so that they can understand their test progress and test situation, and adjust the work plan for the next day
2. Testers give evaluation results to the tested objects every day to adjust the testing strategy for follow-up work
3. The testers report the difficulties in the test to the test manager to ensure the smooth progress of the test
4. The test manager understands the test progress of each staff member through the test daily report, grasps the overall progress of the test, and adjusts the plan in a timely manner when discovering risks in the progress
5. The test manager understands the defect development trend of each module through the test daily report, and judges whether the test can be withdrawn
6. The development manager can understand the quality of the current software through the software test daily, and can adjust the human resources for defect modification,
7. If the software has multiple test groups testing in parallel, the test daily can provide a means of testing and communicating with each other
System Test Steps
Requirements Analysis -> Plan, Scheme -> Use Case Design -> Environment Construction -> Execution -> Test Report
Classification of requirements: 1. Project requirements (users raise their own requirements) 2. Product requirements (product personnel conduct research and writing)
Baseline: The first statement: the software version is relatively stable. The second statement: the document is sealed up after multiple reviews and revisions, and anyone who needs to modify must submit an application.
Here are the videos and copywriting I have organized. If you need it, you can click the small card below