Software testing professionals are considered as the guard of the SDLC (Software Development Life Cycle) process. This is not because of their capability for finding and reporting bugs, but rather for a huge impact in delivering a high-quality product. It is the tester or QA who is responsible for the delivery of the relevant product. And in order to do this, they generally follow a Checklists during the whole testing life cycle. In one word, Checklists are supposed to make a hard Testers Life much better!
The word Checklist signifies a list of task that is being noted down or recorded for tracking purpose. It can be a haphazard list not arranged in proper sequences.
In our daily day to day life, we also have a checklist to follow. Suppose on weekends we generally make a list of thing to be done and once a task is done or over, we strike it off or tick it. This is the checklist we generally follow.
Now, When coming to testing. Software Testing Checklists Cons are:
The Software Testing Checklist can be easily created, modified and maintained
Use of a checklist helps in avoiding checking the repetitive task and helps in the utilization of brain power in creative activities
The checklist helps to stay in a more organized way and thus prevent skipping of any steps in the testing process
Software Testing Checklist is very flexible and items can be easily added or removed from it
With the help of a checklist, we can perform the repetitive tasks more quickly and effectively and with fewer mistakes
The Software Testing Checklist provides a well-structured base for testing
Checklist works a reminder for testers. Testers can recall the important test based on the checked items on the checklist
The checklist helps in identifying and selecting the different tools required for different types of testing like performance testing, automation testing, etc.
Creating the entry and exit criteria required testing
Checklist for Web and Mobile Applications
While performing the testing of the website or mobile application, the below mentioned general checklist for software testing has to be followed for, different testing types, improving the product quality. The Software Testing Checklist for different testing types includes:
#1 UI/UX Testing
UI/UX testing is the testing where the implemented GUI is being tested by comparing with the project mock-up and UI design. It’s the UI of the application, which attracts the user. The more eye-catching the application GUI, the number of users. So, UI testing needs to be done with foremost importance.
UI testing is a type of non-functional testing. UI testing helps in identifying UI defects.
Performing Testing Checklist:
- Responsiveness. For the website, the web pages should be responsive and should fit in all mobile screens irrespective of the screen size.
- Alignment. All the buttons, text boxes, and other elements should be properly aligned and should look good.
- Scrolling. The scroll in the page should work properly and there should be no horizontal scroll (unless required). The table can be displayed on the webpage with a horizontal scroll.
- Spelling and grammar. All the text for label, content, error message, pop up message, etc. must be of correct spelling and grammar.
- Logo. The logo should be displayed properly and clicking on the logo should redirect to the homepage.
- Image. Images must be displayed properly throughout the web pages. There should be no distorted or broken image.
- Page title with a fab icon. For Website, every page should have a page title and should have the fab icon.
- Look and feel. The color combination should be good and eye-catching. All the windows have proper look and feel that expresses transition.
- Controls. Checking the behavior of the different controls, such as the checkboxes, dropdown lists, radio buttons, etc.
- The Rule of Consistency. All the buttons and textboxes should be consistent throughout the application.
- Navigation. Check the navigation of all the menus, and menu items. The navigation must properly work for both keyboard and mouse.
#2 Functional Testing
Functional testing is the process where the feature is tested by comparing the overall behavior of the application with the specification. While performing the functional testing, you have to follow the functional test cases. Functional testing follows the concept of Black Box Testing, where tester doesn’t know the internal logic of the application.
Functional Testing Checklist:
- Validation Testing. It includes the validation of the different fields used in the application (combo boxes, text boxes, radio buttons, dropdown lists, checkboxes, etc.)
- Link testing. Validating whether all the internal and external links are working properly as required. There should be no broken or dead links.
- Email link validation. Checking whether the default email client should open with the email populating in the TOC section when the user clicks on the email link.
- Regression testing. It is a type of functional testing, which is done to identify if the existing feature is not affected by the recent or current code change.
- Sanity testing. Sanity testing is a subset of Regression testing, which is performed when there is a lack of time. Sanity Testing is focused on proving if all the menus, functions, commands available in the project are working well.
- Smoke testing. Smoke testing is nothing but a build Validation testing, where the main functionality of the application is tested. Thus ensuring that the build is stable enough for further testing.
- Field validation. All the required field and the field validation is being properly tested.
- Error message. Checking that the error message displaying for the field is proper and is a relevant one.
- Page or Form submission. Checking that the forms submission should work properly. And proper error message should display if any error is faced.
- Tool identification. Identifying the tool required for performing testing. For example- If performing Automation testing, then selecting the proper automation tool and framework required for the automation.
#3 Compatibility Testing
Compatibility Testing is a type of non-functional testing, which is generally performed to check the compatibility of the developer software/product or website/application under different environment. Compatibility testing is one of the important test types when performing Quality Assurance on a software development project. It is applied to test a software product with Hardware, Browsers, Operating Systems, Databases, Devices and so on.
Compatibility Testing Checklist:
- Hardware. It checks the software compatibility with different types of hardware devices like USB port, printers, etc.
- Software. It checks the build software to be compatible with other software. For example, MS Excel should be compatible with MS Word, Outlook, etc.
- Mobile. Checking the build software/application is compatible with mobile devices with different OS and with different sizes.
- Operating System. It checks the compatibility of the software to run properly in different operating systems like Windows, OSX, MAC IOS, Android, etc.
- Browser. Checking whether the built website is compatible and works properly in different browsers.
- Network. It checks the software compatibility in different networks with all parameters like Bandwidth, Operating speed, capacity, etc.
#4 Performance Testing
Performance testing is a testing practice that determines the system behavior under a certain workload. It also helps in measuring, investigating and validation different attributes of the systems like responsiveness, scalability, reliability, and resources used. Performance testing is categorized into different types like Load testing, Stress testing, Scalability testing, etc.
Performance Testing Checklist:
- Apply separately. Performance testing isn’t for the completed project, it adds more value when testing individual unit or modules.
- Speed. Need to get rid of the bottleneck and find out the amount of load/stress the site is able to sustain.
- Workload time. To check the performance, reliability, stability, and scalability of an application under the different workload.
- URL check. For a web-based application, proper credential like URI should be provided for performance testing.
- Processing time. Tracking the response time with respect to the amount of task at a given point in time, the time taken by the application give back the results.
- Environment. The test environment should be planned in advance and it should reflect the architecture as it is in production. The production and test environment should be equivalent in nature.
- Load generators. Load injectors are required for producing the required load in the application, which should be planned by the tester in advance.
#5 Usability Testing
Usability testing is an approach, where the product is tested from the users perspective. It is the type of Black box testing techniques. Usability testing focus on how easy is it for the users to use the product.
Usability Testing Checklist:
- Registration. Unwanted registration should be avoided and if required there should be a proper registration form, which user can find and do the registration easily.
- Relevant images and video. The images and videos displaying in the application should be relevant and should match the page content or with the app.
- Company contact. The address and location can be easily accessible by the users.
- The application is credible. Credible references, contact information, location, credentials, and images of real people are displaying in the application.
- Content visibility. Content should be clearly visible and readable.
- Workability of components. Links, button, checkbox, and radio buttons should be clickable.
- Check links. Links should be highlighted and there should be no broken or dead links.
- Relevant description. There should be a site description in the window title.
- Search feature. Search button should be available on all pages and work properly.
- Consistency. Page layout should be consistent throughout the application.
- Responsiveness. The site should be responsive as per the screen size.
- Custom Error Page. There should be custom error pages for 404 and 500 error.
- Forms usability. Forms should not be too long and only necessary fields should only be included.
- Browser and device compatibility. The application should be compatible with all browser and devices as required.
#6 Database Testing
The database is one of the inevitable parts of the application. Database testing involves retrieving of values from the database by the application. It includes data integrity testing, data validation and testing of functions, triggers and procedure in the database. In Database testing, tester to expertise in checking tables, writing queries and procedures.
Database Testing Checklist:
- Requirements match. Check the database name, table, columns, etc should match with the project requirement of the specification.
- Encryption. Verify the data encryption.
- Data filters. Try entering invalid data in the database.
- Type of Data. Check all the columns should have a proper data type.
- Service failure. Validate the database behavior in case of any service failure.
- Connection. Verify the connection of the application with the database.
- Backup. Validate the restore and backup plan.
- Table Structure. All the tables created should have a logical structure (primary, foreign key, etc.)
- Triggers. Validate the procedures should get triggered properly when required.
- Names. Procedure names should be properly validated.
- Incorrect Values. The database is not supposed to receive “Null” value for any fields.
- Input invalid data. Check by inserting date and time in the invalid format.
- Boundaries testing. Try inserting values which exceed the data boundaries.
- Action workability. Entered data should be sent successfully into the databases once the user clicks on the Apply or Submit button.
- Execution. To check whether the correct transaction is executed or not.
- Relevancy of Database. To verify and validate the normalization of the database.
- Time. Should also focus on the time taken in retrieving and updating the data.
#7 Security Testing
Security testing is a type of testing, which focus on finding the flaws in the security mechanism of an application for protecting data and maintain function as required. It focuses on finding all the possible loopholes and thus preventing data loss.
Security Testing Checklist:
- Password. Verify that password rule is implemented in pages: Registration, Login and Change password page.
- Spambots protection. During registration, there should be captcha so that spambots cannot register.
- Old password blocking. Once the password is changed, the user should not be able to get logged in with the old password.
- Mandatory fields. There should be server-side validation for the mandatory fields.
- Encryption. Verify that important information like Password, Credit card information are in encrypted format.
- Page URL protection. Verify that anonymous user should not be able to access other user details by changing the page URL.
- Source Code invisibility. View source code should be disabled and should not visible to users.
- SQL check. Check the SQL injection attacks in all pages of the application.
- Cookies. All cookies information should be stored in an encrypted format.
- Security personal data. Security answers should be stored in the database as hashes and not in plain text.
- User-block. Verify user get blocked for 24 hours or more if tried to get logged in with invalid credentials for n number of times.
- Cookies should not store the password.
So, better follow the Software Testing Checklists during the testing process. It not only helps to find flaws or loopholes in the application but also helps to improve the product quality and its usability. Project-specific Software Testing Checklist can be followed to make sure that all the required verification points are tested. And sure each experienced Tester is adding his own cases to the checklist, and that is exactly what makes our software so perfect!
And at the end, do not forget to track the requirements/spec before writing your Software Testing Checklist, and make sure the requirements are not changed, updated or even deleted. Good Luck!