1 Overview
In a software project development, system testing is an important part of ensuring the overall quality of the project. This article will briefly introduce the testing technology of the website and the corresponding automatic testing tools. We will discuss the following aspects:
Function Testing
Performance Testing
Security Testing
Stability Test
Browser compatibility test
Availability/Usability Testing
LINK TEST
Code validity test
2 Test content
2.1 Function Testing
In actual work, functions have uncertainty in every system, and we cannot use the exhaustive method for testing. Therefore, it is difficult to test functions, based on the 80/20 principle (that is, the 80% error exists in part 20% of the system), we use the following two methods to design the test case:
2.1.1 white box testing
The white-box test uses the control structure of the program to export test cases. Based on the current situation, we use the basic path Test Method for white box testing. This method is simple and efficient. The basic path test method is described as follows:
"First, export the data flow chart through the system design flowchart.
Evaluate the ring Complexity Based on the Data Flow Diagram
V (G) = E-N + 2
Or V (G) = P + 1
V (G): Annular accountability
E: Number of edges in a flow chart
N: number of nodes in the flow chart
P: number of nodes in the flow chart
○ Set the V (G) path.
We designed simulation data for the V (G) path.
Evaluate the test based on the data
2.1.2 black box testing
The black box test derives the input conditions for all functional requirements of the execution program, and then exports the test cases and test methods. The black box test is used to assist the white box test.
We use the equivalent division method for testing, that is, dividing the input fields of the program into data classes to export test cases. Generally, the input condition is a specific value, a numeric field, a group of related values, or a Boolean condition.
2.1.3 test Website Functions
For website testing, each independent function module needs to design and export test cases separately, mainly based on Requirement Analysis. test cases where the application module requires the designer to provide the basic path Test Method
Opensta (Open System Testing architecture) can be used for automated testing with test cases.
2.2 Performance Testing
The website performance test is very important for the website's operation. However, the performance test for the website is not enough. We do not have a good benchmark for system design, therefore, it is vital to establish a complete set of testing solutions for website performance testing.
Website performance tests are mainly carried out in two aspects: load and stress. Load Testing refers to testing some boundary data, stress Testing is more like a malicious test. Stress Testing tends to cause the entire system to crash.
Performance testing can be automated using corresponding tools. The following tools are used currently:
AB ----- test tool of Apache
Opensta-Development System Test Architecture
2.3 Security Testing
Currently, network security is becoming increasingly important, especially for websites with interactive information and websites that conduct e-commerce activities. Currently, our tests do not cover website security tests. We plan to adopt tools for measurement. The tools are as follows:
Saint ------- security administrator's integrated network Tool
This tool can detect the corresponding security problems of the website system and provide security vulnerability solutions, but some common vulnerability solutions.
2.4 Stability Test
Website stability testing indicates whether the entire system is running normally during website operation. Currently, there is no better test solution. The testing server is mainly used for long-running testing.
2.5 browser compatibility test
Test Cases exported through White-box or black-box tests are tested using corresponding tools. OpenSTA can be used for testing. Different browsers can be used for testing.
2.6 availability/Usability Testing
In terms of availability/ease of use, we can only use the manual testing method for evaluation at present, and there is a lack of a good benchmark for evaluation. In this aspect, we need to discuss it together.
2.7 link test
A hyperlink means that users can smoothly use the services provided by the entire website. Therefore, the hyperlink will be tested as an independent project. Now we have a test tool
Xenu ------ mainly used to test the correctness of links
Unfortunately, some errors may occur in the test of dynamically generated pages.
2.8 code validity test
The Code validity test consists of two parts: Check the program code validity and check the code validity.
Evaluate the validity of the program code
The main criteria for checking program code legitimacy are intergrp group programming specifications. Currently, the SCM administrator is used to perform standardized checks. In the future, we hope that appropriate tools will be available for testing.
Evaluate the code validity check
Check the validity of the displayed code, mainly divided into Html, JavaScript, and Css code checks. Currently
HTML code check ------ use cse html Validator for testing
JavaScript and Css can also be downloaded from the Internet.
3. Test Tool
OpenSTA
It is mainly used to test the load and pressure of performance tests. It is easy to use. You can write a test script or automatically generate a test script before testing the application test script.
SAINT
The website security test can perform security tests on specified websites and provide security solutions.
Cse html Validator
A useful tool for checking the validity of HTML code
AB (Apache connector)
The tools provided by Apache for Performance Testing do not provide many functions, but are very practical.
Crash-me
Mysql comes with a tool to test the performance of multiple databases.
The above tools can be found in the following directories except AB and Crash-me.
\ Smbserver \ apps \ linuxapp \ intergrp
For AB and Crash-me, visit the corresponding website to view the relevant information}
4 postscript
This article only gives a brief introduction to the test of the website. It provides fewer tools, but can be used (of course, they can be obtained free of charge from the Internet ), there are also many testing tools that require Money. If you are interested, you can try them out. I just did a preliminary survey on the testing tools mentioned above, for more information, see the relevant documentation.
Another important part in the test of the website is the test of the database. Because some Money is required for tools with good database performance testing, we use Mysql Crash-me, however, there is also a problem: it is better to use a third-party tool for testing different databases. Therefore, you can study other database performance testing tools.