Importance of checklist in Web Testing
Checklist is a series of entries used for checking. Checklist is required because people's memory is neglected and some precautions may be missed. People's experience and level are limited, so they can think differently, checklist helps us perform the necessary checks. For example, during the health check, a list will be printed for each person after the registration at the Health Check center, that is, the items to be checked on the same day. Check and check one by one to avoid omissions. For example, when we plan a tour, we will list the list of items we need to use during the trip and the preparations we need to complete before the trip. Before a trip, we usually check items one by one according to the List, such as visa, ticket booking, and hotel booking. Before the trip, we will package items according to the list one by one, such as medicines, tools, documents, passports, visas, air tickets, etc. Checklist
It has very important value in similar work.
Why can checklist be applied in software testing? First, checklist can help testers save time, because many effective methods do not need to be re-discovered by each tester. The predecessors have already made a full summary and made a lot of validation; second, checklist can help testers avoid omissions. There are limitations in their memory, and there will inevitably be omissions. The checklist check can effectively prevent omissions.
This series of articles is based on the application of checklist in Web software products. Each article provides a specific checklist and a specific application instance.
Back to Top
Category of data input
This document describes how to use checklist to test data input, including table input, data verification, data consistency, Date input, numeric input, and numeric character input.
| Input type |
Type description |
| Table Input |
When you enter data on a web page, some data pages contain multiple input boxes and are displayed in a certain layout. |
| Data Verification |
Used to verify whether the entered information is valid and valid, and properly process or warn against illegal information |
| Data Consistency |
Used to ensure that the input data is consistent with the stored and displayed data |
| Date input |
Data in the input date format and validation of the input date |
| Number Input |
Only numbers are input, and characters and other illegal characters are not allowed. |
| Numeric Character Input |
It can contain numbers or characters at the same time. |
Back to Top
Table input Checklist
Table 1. Summary of table input Checklist
| Serial number |
Checklist |
| 1.1 |
Can I handle illegal input properly? |
| 1.2 |
Is this input optional or required? |
| 1.3 |
Enter data that exceeds the allowed length |
| 1.4 |
Default Value after page loading or reload |
| 1.5 |
The data in the combo box can be selected and changed normally. |
| 1.6 |
Does the table show all parts? Are they correctly arranged? Is the text content in the correct position? |
| 1.7 |
Does the scroll bar appear when required? |
1.1 can I handle illegal input properly?
When a good software receives illegal input, it can properly handle it and cannot provide unpredictable error information. See the following example.
Figure 1. Email address and phone number
From the example in Figure 1, we can find that when we enter an invalid email address in the email address on this page, the product provides an appropriate error message, when you move the mouse over the red error warning sign, you can get a more detailed Prompt window. This instance provides an appropriate prompt for illegal email address input. In the phone number input box of the figure, we entered a string of letters as illegal input without any warning of illegal input. This is a software defect.
1.2 is this input optional or required?
On the web product page, whether the input field is required or optional requires verification. There are two verification needs to be completed: first, the required input field is indeed required, there will be an error prompt when there is no input; optional input field can be left blank. Second, make sure that the required input field is indeed necessary, and the optional input field is not necessary. Below we provide two instances.
Figure 2. error when option email address is not entered
In the example in Figure 2, the email address is an optional input item. If you do not enter this item, the product prompts you to enter the email address, which is inconsistent with the optional definition. This is a defect of the product.
Figure 3. Incorrect option input settings
The instance in Figure 3 shows the window for creating a group. The unique input is the group name, and the group name is the unique identifier of the group, is required. Here, the product does not use this input item as a required item. If you do not enter any information and click "OK", a group without a name will be created. This is unreasonable and is a product defect.
1.3 enter data that exceeds the allowed length
Under normal circumstances, each input field requires constraints on the length of the input data, giving the minimum length and maximum length constraints. If the length of the data entered by the user exceeds the maximum allowed length, the program must properly process the data. For example, a tester can create a 1,000,000-byte or longer string, input the string to the input area, and continue subsequent operations, such as saving or running the string, check whether the program provides an error message or automatically truncates the string length.
1.4 default value after page loading or reload
When the webpage product page is loaded, the initial default value displayed on the page must be consistent and accurate. Consistency means that the default value of the page must be consistent before further operations are performed each time you arrive at the same page from different paths. Accuracy means that the default value on the page needs to be properly laid out, buttons and operations to be enabled are available, and features to be disabled must be unavailable.
Figure 4. Initial page loading
Figure 4 shows how to open a user configuration file page. The save and cancel buttons are enabled without any updates. In fact, clicking the two buttons at this time makes no sense, because there is no information update at all, and you do not need to save or cancel it. This is a defect of the product. The correct solution is to disable two buttons on the initial loading page so that they are in the forbidden state.
1.5 data in the combo box can be properly selected and changed
The data in the combo box must ensure that all the list content can be properly selected, and can be changed to another content when one item has been selected. The following example shows the defects of a combo box.
Figure 5. Example of a defect in the combo box
In the example in figure 5, the left-side graph shows the list content of the combo box in the initial state. By default, custom group is selected. After the list is expanded, search results is displayed. The figure on the right shows that when you select search results from the change list, expand the selection list again. The custom group option is not displayed in the list, which is a defect of the product. Make sure that you can view all the list options in different periods.
1.6 Does the table show all the parts? Are they correctly arranged? Is the text content in the correct position?
A table requires multiple parts. First, ensure that all parts exist and they are correctly arranged on the page. Also, ensure that the text content is properly positioned.
Figure 6. Example of unaligned table content Arrangement
6. In the table shown in the figure, different components are arranged incorrectly. The input fields of the left and right attribute values should be horizontally aligned. This is a defect of the product.
1.7 Does the scroll bar appear when required?
The scroll bar is used to ensure that when the content to be displayed on the page exceeds the size of the display area, you can drag the scroll bar to see the content outside the display area. Software products sometimes fail to properly handle the situation. This is a webpage product defect we encountered during the test.
Figure 7. missing scroll bar
7. Note that there is a button in the red circle that is not completely displayed. In fact, there is more content in the lower part. This part of content is beyond the display area range, there should be a vertical scroll bar on the right side so that users can see the content below. The missing scroll bar in the vertical direction is a product defect.
Back to Top
Data verification checklist
| Serial number |
Checklist |
| 2.1 |
At any time, when illegal data is input, the system cannot perform poorly. |
| 2.2 |
What are the consequences of deleting a cookie during product use? |
| 2.3 |
What are the consequences if a user deletes a cookie after using the product? |
2.1 When illegal data is input at any time, the system cannot perform poorly
Although the purpose of software product design is not only to receive illegal data input, the product needs to ensure that it does not behave badly when illegal data is obtained, but should still be properly processed. Illegal data types include data length, data size, invalid characters in data, and data input sequence.
2.2 What are the consequences of deleting a cookie during product use?
Cookies are data stored on the local terminal to identify users, save user configuration information, and perform session tracking. The product design should ensure that, during user use, if the user deletes the cookie, the product will still be properly processed and there will be no bad or unpredictable behavior.
2.3 what will happen if a user deletes a cookie after using the product?
If the user deletes the cookie after using the product, when the user accesses the product again, ensure that the product is still properly processed and no unexpected action will occur.
Back to Top
Data Consistency Checklist
Table 3. Summary of data consistency Checklist
| Serial number |
Checklist |
| 3.1 |
Check whether the display and operation are normal when the maximum length is entered |
| 3.2 |
Verify whether negative values and negative values are accepted in the digital input field. |
| 3.3 |
Make sure that all the values are fully saved in the database after the data is saved. |
3.1 check whether the display and operation are normal when the maximum length is entered
Each input field has its own length limit. When the input length reaches the maximum length, make sure that the product is displayed and working properly. In general, the maximum length of characters poses a great challenge to the display difficulty of the page, because at this time, you need to display the most content on a limited page. The following example shows a maximum length display related product defects.
Figure 8. Display defects during maximum length input
In the example shown in 8, when both the first and last names reach the maximum length, the two parts cannot be completely displayed in the displayed box after being saved, and there is no horizontal scroll bar for secondary display. This is a display defect of software products.
3.2 check whether negative values and negative values are accepted in the digital input field.
Numbers and regions in some cases do not accept negative value input. In this case, if improper processing is performed, when there is a negative value input, unpredictable situations may occur. If negative values are allowed, it is also important to test whether the negative values are correctly processed.
3.3 ensure that all data values are fully saved in the database after data is saved
After saving the data on the product page, make sure that all the values are fully saved to the database. Access to the same data from different channels is consistent and synchronized. To verify this, the tester needs to re-open and view the display after saving to see if it is exactly the same as the data before saving, at the same time, we try to access the same input from different paths and verify whether the results are consistent.
Back to Top
Date input Checklist
Table 4. Summary of Date input Checklist
| Serial number |
Checklist |
| 4.1 |
Verify that the leap year is correctly verified and does not cause a computing error |
| 4.2 |
Is the date in the webpage copyright information updated? |
4.1 verification the leap year is correctly verified and does not cause computing errors
A leap year is a special year in the Gregorian calendar, because it has 366 days. The basic calculation method is: Four years, one hour, one hundred years without renewal, and one second in four hundred years. When it comes to date input, the tester needs to consider that the product still responds correctly when a leap year occurs. A day that is more than a normal year appears on the last day of February, that is, February 29.
In addition to a leap year, the day of the new year and the year of the Whole century also need to be considered, because these special years may cause unpredictable errors.
4.2 have the dates in the webpage copyright information been updated?
The copyright information of a webpage is usually on the about (about) page, which records the product name, company copyright, detailed version information, copyright year, and other information. Testers need to ensure that the copyright information is timely and accurate, consistent with the actual version of the product.
Back to Top
Number input Checklist
Table 5. Summary of number input Checklist
| Serial number |
Checklist |
| 5.1 |
Make sure that the minimum and maximum values are correctly processed |
| 5.2 |
Make sure that an error is returned when spaces are entered at the first character in the value input box. |
| 5.3 |
Make sure that an error is returned when space is entered at the last character in the input value field. |
| 5.4 |
Make sure that the positive and negative signs (-) are correctly handled. |
| 5.5 |
Avoid Division 0 |
| 5.6 |
Add 0 to all operations |
5.1 make sure that the minimum and maximum values are correctly handled
Generally, numeric input fields have their own maximum and minimum values. The processing of these two extreme values requires special verification. In addition to verifying the maximum and minimum values, it is best for testers to verify that values smaller than the minimum and greater than the maximum values can be properly processed by the product.
For example, you need to enter a port number when defining a connection. The minimum value of the port number is 1. When the user enters the port number 0, the connection can be successfully added. When you verify the connection, the system prompts that the port number 0 is invalid. This is a defect of the product. The correct solution is that when the user view adds a port number of 0, an error message is displayed to inform the user that the port number is invalid.
In addition, when the input exceeds the maximum or minimum value, the product must provide clear warnings and prompts to inform users of the correct range. The following example shows an inappropriate error message.
Figure 9. The error message returned when the value input exceeds the specified range is not detailed.
In the example in Figure 9, the input value is beyond the permitted range, but the prompt information is very vague. The user still does not know the value range when the prompt message is displayed. This is a defect of the product. It needs to provide more clear information so that users can know the effective range of the value at a glance.
5.2 make sure that an error is returned when a space is entered at the first character in the value input box.
When the first character in the value input box is a space, the input is no longer a value and should be invalid. An error message is required during product processing.
5.3 make sure that an error is returned when a space is entered at the last character in the input value field.
When the last character in the value input box is a space, the input is no longer a value and should be invalid. An error message is required during product processing.
5.4 Ensure that the positive and negative signs (-) are correctly handled
Each place that involves numerical input involves a numerical symbol. Because there are positive and negative values, we need to ensure that the product's processing of positive and negative numbers is accurate and appropriate. For an input box that can accept positive numbers, the processing result should be the same as that of a value that does not contain symbols (the default value is positive, because the two values are essentially equal (except for the re-display of the input values, because the difference between the two values is only one + sign ).
5.5 avoid division of 0
A division of 0 must be avoided in all operations. In software products, if Division operations are involved, pay special attention to avoid the occurrence of a division of 0. In various cases, the divisor is 0, including the input value 0 and the calculation result 0.
5.6 add 0 to all operations
Because 0 plays an important role in all operations, it is also a very special value. Therefore, adding a value of 0 to all involved operations in the test process has a good effect on the test product and can test a lot of cases related to 0.
Back to Top
Number character input area check Checklist
Table 6. Summary of the checklist check in the number Character Input Area
| Serial number |
Checklist |
| 6.1 |
Try empty data and non-empty data |
| 6.2 |
Try to enter invalid characters and symbols |
| 6.3 |
Try valid characters |
6.1 try empty data and non-empty data
Empty data processing plays an important role in data input testing. There may be multiple ways to process empty data: the default value may be used for processing as the user does not enter the data. In this case, you need to verify that the empty data processing result is consistent with the default value; empty data may be treated as illegal data processing. At this time, you need to verify whether the error prompt is clear and valid. Sometimes, empty data is also processed as 0 values, in this case, check whether the output results of NULL data are consistent with those of 0 values.
6.2 try to enter invalid characters and symbols
In the negative test, a very important aspect is the test of illegal characters and symbols. Generally, a product has its own naming rules, which clearly define the symbols used in the product, that is, valid input. Characters and symbols other than valid input are invalid. The tester needs to input such illegal characters and symbols into the product to check whether the product is properly handled.
Take the dataset and member name as an example. They have their own complete and clear naming rules. For valid characters, only 26 letters, numbers, and three special characters are allowed in the dataset and member names &,#,@, at the same time, numbers cannot appear in the first character of the dataset name segment or the first character of the member name. The following example describes a product defect.
Figure 10. invalid characters in the dataset name and member name
In figure 10, when you enter invalid characters $ and % in the dataset name and member name, the product page does not provide warning information, which is a defect of the product, this vulnerability will be exposed in the later data processing phase, because the host cannot accept and process the name containing invalid characters.
6.3 try valid characters
In general, testing of valid characters is the most basic content in functional testing. However, the test of valid characters also contains many aspects. A simple input is a single valid character or string. Second, combine different simple inputs to form complex inputs. In addition, you can test the maximum allowed character length, or even the maximum allowed length of multiple input fields.
Back to Top
Summary
Data input is a very important part of Web product testing. It is like the blood of the product, flowing in every part of the product. Data input involves many different aspects, including table input, date numbers, and character input, as well as user verification and consistency check. In order to do a good job of all these types of tests and inspections, it is difficult to give a comprehensive test based on the experience and memory of the testers.
This article describes how to use checklist to perform the most efficient attacks and tests on data points of various data types, so as to efficiently detect product defects. Checklist makes good use of the previous experience to apply to the current project, which greatly improves the work efficiency and can overcome some shortcomings of a single tester, such as limitations of thinking, lack of experience, negligence of thinking, and limitations of memory. In short, checklist can maximize the efficiency of testers and discover the most product defects within a limited time, thus improving the product quality.