Reprinted from: A classic summary of web testing software testing
Web-based system testing in the development of web-based systems, if there is a lack of rigorous process, we in the development, release, implementation and maintenance of the web, we may encounter some serious problems, the likelihood of failure is very large. And, as Web-based systems become more complex, a failure of one project can lead to many problems. When this happens, our confidence in the web and the Internet can be irretrievably shaken, causing a web crisis. Also, web crises can be more severe and widespread than software developers face software crises.
In the process of Web engineering, testing, validation and acceptance of Web-based systems is an important and challenging task. Web-based system testing differs from traditional software testing in that it requires not only checking and verifying that it is running according to the requirements of the design, but also testing whether the system is properly displayed on the browser side of different users. It is important to also test security and usability from the perspective of the end user. However, the unpredictability of the Internet and web media makes it difficult to test web-based systems. Therefore, we must study new methods and techniques for testing and evaluating complex web-based systems. The release cycle for general software is calculated in months or years, while the publishing cycle for Web apps is calculated even in hours.
Web testers have to deal with shorter release cycles, and testers and test managers face shifts from testing traditional C/s structures and framework environments to testing rapidly changing Web application systems.
I. Functional test 1, link test
Link is a main feature of Web application system, it is the main means to switch between pages and instruct users to go to some pages that do not know the address. Link testing can be divided into three areas. First, test that all links are actually linked to the page as instructed, and secondly, whether the linked pages are present, and finally, to ensure that there are no orphaned pages on the Web application system, so-called orphaned pages are no links to the page, only the correct URL address can be accessed. Link testing can be done automatically, and now there are many tools to take. Link testing must be done during the integration testing phase, that is, link testing after all page development of the entire Web application system is completed.
2. Form Test
When users submit information to the Web application administrator, they need to use form actions, such as user registration, login, information submission, and so on. In this case, we must test the integrity of the commit operation to verify the correctness of the information submitted to the server. For example: The user fills in the birth date and the occupation is appropriate, fills in the province and the city whether matches and so on. If a default value is used, verify that the default value is correct. If the form can only accept certain values that are specified, it is also tested. For example, only certain characters can be accepted, and these characters may be skipped during testing to see if the system will make an error.
3. Cookie Testing
Cookies are usually used to store user information and the user's operation in an application, and when a user accesses an application using cookies, the Web server sends information about the user and stores the information in the form of a cookie on the client computer. This can be used to create dynamic and custom pages, or to store login information. If the Web application uses cookies, it is necessary to check whether the cookies work properly. The content of the test may include whether the cookie is working, whether it is saved at the scheduled time, and what effect the refresh has on cookies.
4. Design language test
Differences in web design language versions can cause serious problems on the client or server side, such as which version of HTML to use. This issue is especially important when developers are not together when developing in a distributed environment. In addition to the HTML version problem, different scripting languages, such as Java, JavaScript, ActiveX, VBScript, or Perl, are also validated.
5. Database Testing
In the Web application technology, the database plays an important role, and the database provides the space for the management, operation, query and realization of the user's request to the data storage. In Web applications, the most common type of database is a relational database, and you can use SQL to process information. In a Web application system that uses a database, there are generally two types of errors that can occur, namely, data consistency errors and output errors. Data consistency errors are mainly caused by incorrect form information submitted by users, and output errors are mainly caused by network speed or programming problems, which can be tested separately for both cases.
Second, performance test 1, connection speed test
The speed at which users connect to Web applications varies depending on how they surf the internet, and they may be telephone dialing or broadband access. When downloading a program, the user can wait a long time, but if you only visit a page it will not. If the response time of the web system is too long (for example, more than 5 seconds), the user will leave without patience. In addition, some pages have a timeout limit, if the response is too slow, the user may not have time to browse the content, you need to re-login. Moreover, the connection speed is too slow, may also cause the data loss, causes the user to get the real page.
2. Load test
Load tests are designed to measure the performance of a web system at a certain load level to ensure that the web system functions properly within the requirements range. The load level can be the number of users who have access to the Web system at any one time, or the amount of online data processing. For example: How many users can the Web application system allow to be online at the same time? What happens if you exceed this number? Can web applications handle a large number of users ' requests for the same page?
3. Pressure test
The load test should be scheduled to be tested in the actual network environment after the web system is published. Because a company's internal staff, especially the project team, is always limited, and a web system can process the number of requests at the same time far beyond this limit, so only on the Internet, accept load testing, the results are correct and trustworthy. Stress testing refers to the actual destruction of a Web application system, the test system reflects. Stress testing is the ability to test system limitations and resiliency, which means that testing Web applications will crash and under what circumstances. Hackers often provide incorrect data loads until the Web application crashes and then gain access when the system restarts. Areas of stress testing include forms, landing, and other information transfer pages.
Iii. Usability test 1, navigation test
Navigation describes how a user operates within a page, between different user interface controls, such as buttons, dialogs, lists, Windows, and so on, or between different connection pages. You can decide whether a Web application is easy to navigate by considering the following questions: is navigation intuitive? Is the main part of the Web system accessible through the home page? Does the web system require a sitemap, search engine, or other navigational aids? Putting too much information on a page tends to have the opposite effect as expected. Users of Web applications tend to drive the goal and quickly scan a Web application to see if they have the information they need, and if not, they leave quickly. Few users are willing to take the time to familiarize themselves with the structure of the Web application system, so the Web application navigation Help is as accurate as possible. Another important aspect of navigation is the consistency of the Web application's page structure, navigation, menus, and connection styles. Make sure the user intuitively knows if there is content in the Web application and where the content is. Once the hierarchy of Web application system is decided, it is necessary to test the user navigation function, let the end user participate in this kind of test, the effect will be more obvious.
2. Graphic test
In the Web application system, the appropriate picture and animation can play the role of advertising, but also to beautify the function of the page. A Web application's graphics can include pictures, animations, borders, colors, fonts, backgrounds, buttons, and so on.
The contents of the graphic test are:
(1) To ensure that the graphics have a clear purpose, the picture or animation do not randomly stacked together, so as not to waste transmission time. Web application system picture size to be as small as possible, and to be able to clearly describe something, usually linked to a specific page.
(2) Verify that all page font styles are consistent.
(3) The background color should match the font color and foreground color.
(4) The size and quality of the image is also a very important factor, generally using JPG or GIF compression.
3. Content Testing
Content testing is used to verify the correctness, accuracy, and relevance of the information provided by the Web application system. The correctness of information refers to whether the information is reliable or misinformation. For example, in the list of commodity prices, the wrong price may cause financial problems or even legal disputes; the accuracy of the information refers to whether there are grammatical or spelling errors. This kind of testing is usually done using word processing software, such as the "Pinyin and grammar checker" feature in Microsoft Word, which refers to whether the current page can find information lists or portals related to the current browsing information, or so-called "related article lists" in the general Web site.
4. Overall interface test
Overall interface refers to the entire Web application system page structure design, is to give users a sense of the whole. For example: When users are comfortable browsing Web applications, do they intuitively know where to find the information? is the design of the entire Web application consistent? The test process for the overall interface is actually a process of investigating the end user. The general Web application system takes the form of a questionnaire on the homepage to get feedback from the end user. For all usability testing, there is a need for external personnel (people who are not associated with Web application development or who have little contact) to participate, preferably end-users.
Iv. client Compatibility Test 1, Platform test
There are many different types of operating systems on the market, most commonly windows, Unix, Macintosh, Linux, and so on. Which operating system the end users of Web applications use depends on the configuration of the user's system. In this way, compatibility issues may occur, and the same application may run correctly under some operating systems, but may fail under another operating system. Therefore, before the Web system is published, the web system needs to be tested for compatibility under various operating systems.
2. Browser testing
Browsers are the core component of Web clients, and browsers from different vendors have different support for Java, JavaScript, ActiveX, plug-ins, or different HTML specifications. For example, ActiveX is Microsoft's product, designed for Internet Explorer, JavaScript is a Netscape product, Java is a sun product, and so on. In addition, frame and hierarchy styles are displayed differently in different browsers, not even at all. Different browsers do not have the same settings for security and Java. One way to test browser compatibility is to create a compatibility matrix. In this matrix, we test the adaptability of different vendors and different versions of browsers to certain components and settings.
V. Safety testing
The security testing area of Web Application system mainly includes:
(1) The current Web application system basically uses the first registration, after landing. Therefore, you must test the valid and invalid user name and password, to notice whether the case is sensitive, how many times you can try the limit, whether you can browse a page without landing and so on.
(2) Whether the Web application system has a timeout limit, that is, after the user logged in for a certain period of time (such as 15 minutes) did not click on any page, whether need to re-login to normal use.
(3) In order to ensure the security of Web application system, log files are very important. You need to test whether the relevant information is written into the log file and is traceable.
(4) When a secure socket is used, it is also necessary to test whether the encryption is correct and to check the integrity of the information.
(5) server-side scripts often constitute security vulnerabilities that are often exploited by hackers. Therefore, you also want to test the problem of not being authorized to place and edit scripts on the server side.
Vi. Summary
This paper discusses the Web-based system testing method from the aspects of function, performance, usability, client compatibility and security. Web-based system testing has similarities and differences with traditional software testing, and presents new challenges to software testing. Web-based system testing not only needs to check and verify whether to run according to the requirements of the design, but also to evaluate whether the system is suitable for display on the browser side of different users. It is important to also test security and usability from the perspective of the end user.
[Reprint] A classic summary of Web tests for software testing