Skip to main content

Posts

Showing posts from December 5, 2017

Software Testing Tips

Here are some of the Best Testing Practices which I learned by Experience:  1) Learn to analyze your test results thoroughly. Do not ignore any test result. The final test result may be ‘pass’ or ‘fail’, but troubleshooting the root cause of ‘fail’ will give you the solution of the problem. Testers will be respected if they not only log the bugs but also provide solutions. 2) Learn to maximize the test coverage each time you test any application. 100% test coverage might not be possible but still, you can always try to reach near it. 3) In order to ensure maximum test coverage, break your application under test (AUT), into smaller functional modules. Write test cases on such individual unit modules. Also if possible break these modules into smaller parts. E.g : Lets assume that you have divided your website application in modules and ‘accepting user information’ is one of the modules. You can break this ‘User information’ screen into smaller parts for writing test

Performance Testing Test Scenarios

1. Check if the page load time is within the acceptable range. 2. Check the page load on slow connections. 3. Check the response time for any action under a light, normal, moderate, and heavy load conditions. 4. Check performance of database stored procedures and triggers. 5. Check the database query execution time. 6. Check for load testing of the application. 7. Check for stress testing of the application. 8. Check CPU and memory usage under peak load condition.

Test Scenarios for Excel Export Functionality

1. The file should get exported in the proper file extension. 2. The file name for the exported Excel file should be as per the standards e.g. if the file name is using the timestamp, it should get replaced properly with an actual timestamp at the time of exporting the file. 3. Check for date format if exported Excel file contains the date columns. 4. Check number formatting for numeric or currency values. Formatting should be the same as shown on the page. 5. The exported file should have columns with proper column names. 6. Default page sorting should be carried in the exported file as well. 7. Excel file data should be formatted properly with header and footer text, date, page numbers etc. values for all pages. 8. Check if the data displayed on a page and exported Excel file is the same. 9. Check export functionality when pagination is enabled. 10. Check if export button is showing proper icon according to the exported file type E.g . Excel file icon for xls files 11.

Test Scenarios for Sending Emails

(Test cases for composing or validating emails are not included here) (Make sure to use dummy email addresses before executing email related tests) 1. Email template should use standard CSS for all emails. 2. Email addresses should be validated before sending emails. 3. Special characters in the email body template should be handled properly. 4. Language specific characters (e.g. Russian, Chinese or German language characters) should be handled properly in the email body template. 5. Email subject should not be blank. 6. Placeholder fields used in the email template should be replaced with actual values e.g. {Firstname} {Lastname} should be replaced with individuals first and last name properly for all the recipients. 7. If reports with dynamic values are included in the email body and report data should be calculated correctly. 8. Email sender name should not be blank. 9. Emails should be checked in different email clients like Outlook, Gmail, Hotmail, Yahoo! mail etc

Test Scenarios for Image Upload Functionality

(Also applicable for other file upload functionality) 1. Check for uploaded image path. 2. Check image upload and change functionality. 3. Check image upload functionality with image files of different extensions (e.g. JPEG, PNG, BMP etc.) 4. Check image upload functionality with images having space or any other allowed special character in the file name. 5. Check duplicate name image upload. 6. Check image upload with image size greater than the max allowed size. The Proper error message should be displayed. 7. Check image upload functionality with file types other than images (e.g. txt, doc, pdf, exe etc.). A Proper error message should be displayed. 8. Check if images of specified height and width (if defined) are accepted otherwise rejected. 9. The image upload progress bar should appear for large size images. 10. Check if cancel button functionality is working in between upload process. 11. Check if file selection dialog shows only supported files listed. 12. Check

Database Testing Test Scenarios

1. Check if correct data is getting saved in the database upon successful page submit. 2. Check values for columns which are not accepting null values. 3. Check for data integrity. Data should be stored in single or multiple tables based on the design. 4. Index names should be given as per the standards e.g. IND_<Tablename>_<ColumnName> 5. Tables should have a primary key column. 6. Table columns should have description information available (except for audit columns like created date, created by etc.) 7. For every database add/update operation log should be added. 8. Required table indexes should be created. 9. Check if data is committed to the database only when the operation is successfully completed. 10. Data should be rolled back in case of failed transactions. 11. Database name should be given as per the application type i.e. test, UAT, sandbox, live (though this is not a standard it is helpful for database maintenance) 12. Database logical names should

Test Scenarios for a Window

1. Check if default window size is correct. 2. Check if child window size is correct. 3. Check if there is any field on the page with default focus (in general, the focus should be set on first input field of the screen). 4. Check if child windows are getting closed on closing parent/opener window. 5. If child window is opened, user should not be able to use or update any field in the background or parent window 6. Check window minimize, maximize, and close functionality. 7. Check if the window is re-sizable. 8. Check scroll bar functionality for parent and child windows. 9. Check cancel button functionality for the child window.

Test Scenarios for Result Grid

1. Page loading symbol should be displayed when it’s taking more than default time to load the result page. 2. Check if all the search parameters are used to fetch data shown on the result grid. 3. The total number of results should be displayed in the result grid. 4. Search criteria used for searching should be displayed in the result grid. 5. Result grid values should be sorted by default column. 6. Sorted columns should be displayed with a sorting icon. 7. Result grids should include all the specified columns with correct values. 8. Ascending and descending sorting functionality should work for columns supported with data sorting. 9. Result grids should be displayed with proper column and row spacing. 10. Pagination should be enabled when there are more results than the default result count per page. 11. Check for Next, Previous, First and Last page pagination functionality. 12. Duplicate records should not be displayed in the result grid. 13. Check if all the columns a

Test Scenarios for Filter Criteria

1. The user should be able to filter results using all parameters on the page. 2. Refine search functionality should load search page with all user-selected search parameters. 3. When there are at least one filter criteria required to perform the search operation, make sure proper error message is displayed when the user submits the page without selecting any filter criteria. 4. When at least one filter criteria selection is not compulsory, the user should be able to submit the page and the default search criteria should get used to query results. 5. Proper validation messages should be displayed for all invalid values for filter criteria.

GUI and Usability Test Scenarios

1. All fields on a page (e.g. text box, radio options, drop-down lists) should be aligned properly. 2. Numeric values should be justified correctly unless specified otherwise. 3. Enough space should be provided between field labels, columns, rows, error messages etc. 4. The scrollbar should be enabled only when necessary. 5. Font size, style, and colour for headline, description text, labels, infield data, and grid info should be standard as specified in SRS. 6. Description text box should be multi-lined. 7. Disabled fields should be greyed out and users should not be able to set focus on these fields. 8. Upon click of an input text field, mouse arrow pointer should get changed to the cursor. 9. The user should not be able to type in drop down select lists. 10. Information filled by users should remain intact when there is an error message on page submit. The user should be able to submit the form again by correcting the errors. 11. Check if proper field labels are used

General Test Scenarios

1. All mandatory fields should be validated and indicated by an asterisk (*) symbol. 2. Validation error messages should be displayed properly at a correct position. 3. All error messages should be displayed in the same CSS style (e.g. using red colour) 4. General confirmation messages should be displayed using CSS style other than error messages style (e.g. using green colour) 5. Tooltips text should be meaningful. 6. Drop-down fields should have the first entry as blank or text like ‘Select’. 7. ‘Delete functionality’ for any record on a page should ask for a confirmation. 8. Select/deselect all records option should be provided if page supports record add/delete/update functionality 9. Amount values should be displayed with correct currency symbols. 10. Default page sorting should be provided. 11. Reset button functionality should set default values for all fields. 12. All numeric values should be formatted properly. 13. Input fields should be checked for the max field

Security Testing Test Scenarios

1. Check for SQL injection attacks 2. Secure pages should use HTTPS protocol 3. Page crash should not reveal application or server info. Error page should be displayed for this 4. Escape special characters in input 5. Error messages should not reveal any sensitive information 6. All credentials should be transferred over an encrypted channel 7. Test password security and password policy enforcement 8. Check application logout functionality 9. Check for Brute Force Attacks 10. Cookie information should be stored in encrypted format only 11. Check session cookie duration and session termination after timeout or logout 11. Session tokens should be transmitted over secured channel 13. Password should not be stored in cookies 14. Test for Denial of Service attacks 15. Test for memory leakage 16. Test unauthorized application access by manipulating variable values in browser address bar 17. Test file extension handing so that exe files are not uploaded and executed on server 18. Sensitive f