Monday, 12 August 2013

SOFTWARE TESTING TECHNIQUES

Usability Testing

What is Usability Testing?
  • Usability testing is nothing but the User-friendliness check.
  • In Usability testing,  the application flow is tested so that a new user can understand the application easily.
  • Basically, system navigation is checked in Usability testing.
What is the purpose or Goal of Usability testing?
A Usability test establishes the ease of use and effectiveness of a product using a standard Usability test practices.
Usability Test Scenarios:
  • Web page content should be correct without any spelling or grammatical errors
  • All fonts should be same as per the requirements.
  • All the text should be properly aligned.
  • All the error messages should be correct without any spelling or grammatical errors and the error message should match with the field label.
  • Tool tip text should be there for every field.
  • All the fields should be properly aligned.
  • Enough space should be provided between field labels, columns, rows, and error messages.
  • All the buttons should be in a standard format and size.
  • Home link should be there on every single page.
  • Disabled fields should be grayed out.
  • Check for broken links and images.
  • Confirmation message should be displayed for any kind of update and delete operation.
  • Check the site on different resolutions (640 x 480, 600x800 etc.?)
  • Check the end user can run the system without frustration.
  • Check the tab should work properly.
  • Scroll bar should appear only if required.
  • If there is an error message on submit, the information filled by the user should be there.
  • Title should display on each web page
  • All fields (Textbox, dropdown, radio button etc) and buttons should be accessible by keyboard shortcuts and the user should be able to perform all operations by using keyboard.
  • Check if the dropdown data is not truncated due to the field size and also check whether the data is hardcoded or managed via administrator.

Functional Testing:

What is Functional Testing?

  • Testing the features and operational behavior of a product to ensure they correspond to its specifications.
  • Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions.
What is the purpose or Goal of Functional testing?
  • The goal of Functional testing is to verify whether your product meets the intended functional specifications mentioned in your development documentation.
Functional Test Scenarios:
  • Test all the mandatory fields should be validated.
  • Test the asterisk sign should display for all the mandatory fields.
  • Test the system should not display the error message for optional fields.
  • Test that leap years are validated correctly & do not cause errors/miscalculations.
  • Test the numeric fields should not accept the alphabets and proper error message should display.
  • Test for negative numbers if allowed for numeric fields.
  • Test division by zero should be handled properly for calculations.
  • Test the max length of every field to ensure the data is not truncated.
  • Test the pop up message (“This field is limited to 500 characters) should display if the data reaches  the maximum size of the field.
  • Test that a confirmation message should display for update and delete operations.
  • Test the amount values should display in currency format.
  • Test all input fields for special characters.
  • Test the timeout functionality.
  • Test the Sorting functionality.
  • Test the functionality of the buttons available
  • Test the Privacy Policy & FAQ is clearly defined and should be available for users.
  • Test if any functionality fails the user gets redirected to the custom error page.
  • Test all the uploaded documents are opened properly.
  • Test the user should be able to download the uploaded files.
  • Test the email functionality of the system.
  • Test the java script is properly working in different browsers (IE, Firefox, Chrome, safari and Opera).
  • Test to see what happens if a user deletes cookies while in the site.
  • Test to see what happens if a user deletes cookies after visiting a site.
  • Test all the data inside combo/list box is arranged in chronological order.

Compatibility Testing:

What is Compatibility testing?
  • Comp ability testing is used to determine if your software is compatible with other elements of a system with which it should operate, e.g. Browsers, Operating Systems, or hardware.
What is the purpose or Goal of Compatibility testing?
  • The purpose of Comp ability testing is to evaluate how well software performs in a particular browser, Operating Systems, hardware or software.
Comp ability Test Scenarios:
  • Test the website in different browsers (IE, Firefox, Chrome, Safari and Opera) and ensure the website is displaying properly.
  • Test the HTML version being used is compatible with appropriate browser versions.
  • Test the images display correctly in different browsers.
  • Test the fonts are usable in different browsers.
  • Test the java script code is usable in different browsers.
  • Test the Animated GIF’s across different browsers.

Tool for Compatibility Testing:
Spoon.net: Spoon.net provides access to thousands of applications (Browsers) without any installs. This tool helps you to test your application on different browsers on one single machine.

Database Testing:

What is Database Testing?
  • In Database testing backend records are tested which have been inserted through the web or desktop applications. The data which is displaying in the web application should match with the data stored in the Database.
To perform the Database testing, the tester should be aware of the below mentioned points:
  • The tester should understand the functional requirements, business logic, application flow and database design thoroughly.
  • The tester should figure out the tables, triggers, store procedures, views and cursors used for the application.
  • The tester should understand the logic of the triggers, store procedures, views and cursors created.
  • The tester should figure out the tables which get affected when insert update and delete (DML) operations are performed through the web or desktop applications.
With the help of the above mentioned points,  the tester can easily write the test scenarios for Database testing.
Test Scenarios for Database Testing:
  • Verify the database name:  The database name should match with the specifications.
  • Verify the Tables, columns, column types and defaults: All things should match with the specifications.
  • Verify whether the column allows a null or not.
  • Verify the Primary and foreign key of each table.
  • Verify the Stored Procedure:
  • Test whether the Stored procedure is installed or not.
  • Verify the Stored procedure name
  • Verify the parameter names, types and number of parameters.
  • Test the parameters if they are required or not.
  • Test the stored procedure by deleting some parameters
  • Test when the output is zero, the zero records should be affected.
  • Test the stored procedure by writing simple SQL queries.
  • Test whether the stored procedure returns the values
  • Test the stored procedure with sample input data.
  • Verify the behavior of each flag in the table.
  • Verify the data gets properly saved into the database after the each page submission.
  • Verify the data if the DML (Update, delete and insert) operations are performed.
  • Check the length of every field: The field length in the back end and front end must be same.
  • Verify the database names of QA, UAT and production. The names should be unique.
  • Verify the encrypted data in the database.
  • Verify the database size. Also test the response time of each query executed.
  • Verify the data displayed on the front end and make sure it is same in the back end.
  • Verify the data validity by inserting the invalid data in the database.
  • Verify the Triggers.

What is Security Testing?

Security Testing involves the test to identify any flaws and gaps from a security point of view.
Test Scenarios for Security Testing:
  1. Verify the web page which contains important data like password, credit card numbers, secret answers for security question etc should be submitted via HTTPS (SSL).
  2. Verify the important information like password, credit card numbers etc should display in encrypted format.
  3. Verify password rules are implemented on all authentication pages like Registration, forgot password, change password.
  4. Verify if the password is changed the user should not be able to login with the old password.
  5. Verify the error messages should not display any important information.
  6. Verify if the user is logged out from the system or user session was expired, the user should not be able to navigate the site.
  7. Verify to access the secured and non secured web pages directly without login.
  8. Verify the “View Source code” option is disabled and should not be visible to the user.
  9. Verify the user account gets locked out if the user is entering the wrong password several times.
  10. Verify the cookies should not store passwords.
  11. Verify if, any functionality is not working, the system should not display any application, server, or database information. Instead, it should display the custom error page.
  12. Verify the SQL injection attacks.
  13. Verify the user roles and their rights. For Example The requestor should not be able to access the admin page.
  14. Verify the important operations are written in log files, and that information should be traceable.
  15. Verify the session values are in an encrypted format in the address bar.
  16. Verify the cookie information is stored in encrypted format.
  17. Verify the application for Brute Force Attacks

What is Performance Testing?

Performance testing is conducted to evaluate the compliance of a system or component with specified performance requirements.
General Test scenarios:
  • To determine the performance, stability and scalability of an application under different load conditions.
  • To determine if the current architecture can support the application at peak user levels.
  • To determine which configuration sizing provides the best performance level.
  • To identify application and infrastructure bottlenecks.
  • To determine if the new version of the software adversely had an impact on response time.
  • To evaluate product and/or hardware to determine if it can handle projected load volumes.
 
How to do Performance testing? By Manual Testing or by Automation
 
Practically it is not possible to do the performance testing manually because of some drawbacks like:
  • More number of resources will be required.
  • Simultaneous actions are not possible.
  • Proper system monitoring is not available.
  • Not easy to perform the repetitive task.

Hence to overcome the above problems we should use Performance testing tool. Below is the list of some popular testing tools.
  • Apache JMeter
  • Load Runner
  • Borland Silk Performer.
  • Rational Performance Tester
  • WAPT
  • NEO LOAD
 

Read more at http://www.guru99.com/complete-web-application-testing-checklist.html#luoQhJKwodSD5ydw.99 

Saturday, 3 August 2013

Website Development

Importance of website for online business

A good website has become an imperative for businesses today. In this tech savvy era website is the most effective medium for branding and marketing for any organization. I will discuss a few essential points for developing an effective website for your business.
Let us start with the essentials first, you will need the following:
1) Domain Name: Firstly, you need a domain name which means you need an address for your website. Your domain name can be the name of your business or the phrase which people know your business by.
2) Web Design: The next essential step is to hire a website design services company. Although there are various website building software available to help you build a website, outsourcing it will help you get a professional website which is very essential for developing a good brand name.
3) Web Hosting: You then need to choose a reliable web hosting provider for hosting your website. Web hosting is renting a space on the Internet that hosts your website. Web hosting companies provide you the required space on their server to host your website.
The following are some useful tips to build an effective website for your business:
- Define your target audience.
- Create relevant content which is both user friendly and search engine friendly. It should be interesting enough to hold the visitors interest and informative enough to answer their queries. It is a good practice to add a FAQ page and update it often as per users inputs.
- Create user friendly pages with easy navigation.
- You can also offer some free goodies to your website users like offer free e-books or special discounts to promote your business.
- Have your contact details or contact us widget on every page.
- You can also hire a search engine optimization expert that can bring your website in the top rankings in search engines like Google, Yahoo and Bing. A user friendly website with a good look and feel is an effective marketing tool for online businesses.
- Your website needs to be simple and unique.
- It should load fast.
- The website should reflect your business ethics.
- The technology used must meet your business needs.
- It is important to add a sitemap on your website.
- Most of the users are interested to know about you and your history so share it freely. Contact us, history page, clients testimonials adds credibility to your brand name.
- Add a contact page with online form, telephone number and real geographical address to make it easy for the users to communicate with you.
- You can send your clients’ online newsletters for regular communication.
- You can build a blog and forum link it with your website to communicate further and share knowledge with users.
- Add social media tabs on your website to enhance your online presence further.
These were just a few guidelines to kick start your online presence. Let’s get the ball rolling!

What is QTP

What is QTP?
QTP is an automated functional Graphical User Interface testing tool that allows the automation of user events on an application. It uses VB Scripting language to specify the test procedure, and to direct the objects and controls of the application. It works by identifying the objects in the application and performing the desired operations on them, it can also be used to capture object properties like name or Text ID etc.  Framework of QTP is designed mainly for Windows and Web-based applications. QTP is primarily used for regression testing.
Few distinct advantages QTP offers over other testing tools:
  • QTP uses VB scripting language which is more user friendly and easy to understand.
  • Better Support for VB, Java based applications due to inbuilt add-ins.
  • Able to split a single test into various actions for making debugging easier and better maintainability.
  • Enhancement of existing QTP scripts without the application being available; by using the Active Screen.
  • Ability to set up Property Recognition Order and prioritization using Object Identification menu.
  • Working with Object Repository in terms of Object Repository Comparison, Exporting Local objects, etc. in advance manner.
  • Easy integration of external function files in terms of creating Libraries.
Basic settings that need to be done in QTP before recording test scripts are:
  1. Open a blank QTP script with appropriate Add-ins.
  2. Navigate to Automation->Record and Run settings.
  3. Under Web tab select the First radio button which states “Record and run test on any open browser”.
  4. Click on Window Applications tab and select the First Radio button which states “Record and run test on any open Windows-based application”.
  5. Click on Apply button and then click on OK button.
  6. Navigate to File->Settings.
  7. Select Run on left side window.
  8. Under Data Table iterations select the first radio button which states “Run one iteration only”.
  9. Enter ’60’ in Object synchronization timeout field.
  10. Select both the check boxes which states “Disable Smart Identification during the run session” and “Save image of desktop when error occurs”.
  11. Click on Apply button and then click on OK button.
What is Keyword View and Expert View in QTP?
Keyword View: In keyword view actions which are performed by the user are shown in tree format along with the input data. Window and object details are also shown.
Expert View: In expert view script which is automatically generated by QTP in VBScript language during recording is displayed. Any changes made in the Expert View are automatically synchronized with the Keyword Vie

How to test a Website for QA

Check List and Guidelines for Website Testing

Testing plays a very important role in development of a website. The following checklist serves as a quick reference and guide for you to test any website:
1. Test all links:
  • Check all internal hyperlinks : Verify  whether all links are jumping to correct destination.
  • Check all external hyperlinks: Verify whether external hyperlinks like social network links and email links are correct.
  • Check whether there are any orphan links or links that jump on the same page.
  • Test all header and footer links which are constant for all pages.
2. Test forms if present:
  • Try to submit form without Mandatory and Optional field.
  • Check for field validation.
  • Check error handling for wrong input.
  • Check whether default/standard values are proper.
3. Test content:
  • Verify whether information on all pages is correct and easy to understand.
  • Test for spelling and grammatical errors.
  • Check contact details and email addresses.
  • Help content: Check files in the help section, search field and the site map.
  • Proper images.
  • Also check above points for pop-ups.
4. Test  navigation:
  • If menu is provided then check for its consistency in entire website.
  • Check for navigation using keyboard and shortcuts.
5. Graphical User Interface (GUI) check:
  • Font size and color.
  • Cursor or mouse focus.
  • Location of buttons , images, symbols and logos.
  • Scrolling: Avoid long scrolling.
  • Consistent design.
  • Dark colors should be avoided.
6. Cookies and Java scripts:
  • Test cookies and Java scripts that should be enabled or blocked.
7. Browser and OS compatibility:
  • Check for design and GUI issues on multiple platform and for different screen resolutions.
  • Test on different browsers and its versions like IE 6, IE8, Mozilla Firefox, Chrome, Opera, Safari, etc.
  • Also test on different OS and its browsers like Windows 7, XP, Vista,  Mac, Linux, and Solaris.
8. Compatibility on gadgets and mobile platforms:
  • Test for OS like Symbian, Android, iOS, Bada, etc., used for mobiles, tablets and smart phones. Nowadays, some TV sets also provide facility for browsing.

Wednesday, 31 July 2013

Softwaare QA Check List

Comprehensive Testing Checklist

This is a testing checklist for web and desktop applications.
Note – This article is little long (over 2700 words). My goal is to share one of the most comprehensive testing checklist ever written and this is not yet done. I’ll keep updating this post in future with more scenarios. If you don’t have time to read it now, please feel free to share with your friends and bookmark it for later.
Make testing checklist as an integral part of test cases writing process. Using this checklist you can easily create hundreds of test cases for testing web or desktop applications. These are all general test cases and should be applicable for almost all kind of applications. Refer these tests while writing test cases for your project and I’m sure you will cover most testing types except the application specific business rules provided in your SRS documents.
Software Testing Checklist
Though this is a common checklist, I recommend preparing a standard testing checklist tailored to your specific needs using below test cases in addition with application specific tests.
Importance of Using Checklist for Testing:
- Maintaining a standard repository of reusable test cases for your application will ensure the most common bugs will be caught more quickly.
- Checklist helps to quickly complete writing test cases for new versions of the application.
- Reusing test cases help to save money on resources to write repetitive tests.
- Important test cases will be covered always making it almost impossible to forget.
- Testing checklist can be referred by developers to ensure most common issues are fixed in development phase itself.
Few notes to remember:
1) Execute these scenarios with different user roles e.g. admin user, guest user etc.
2) For web applications these scenarios should be tested on multiple browsers like IE, FF, Chrome, and Safari with versions approved by client.
3) Test with different screen resolutions like 1024 x 768, 1280 x 1024, etc.
4) Application should be tested on variety of displays like LCD, CRT, Notebooks, Tablets, and Mobile phones.
4) Test application on different platforms like Windows, Mac, Linux operating systems.

Comprehensive Testing Checklist for Testing Web and Desktop Applications:

Assumptions: Assuming that your application supports following functionality
- Forms with various fields
- Child windows
- Application interacts with database
- Various search filter criteria and display results
- Image upload
- Send email functionality
- Data export functionality

General Test Scenarios

1. All mandatory fields should be validated and indicated by asterisk (*) symbol
2. Validation error messages should be displayed properly at correct position
3. All error messages should be displayed in same CSS style (e.g. using red color)
4. General confirmation messages should be displayed using CSS style other than error messages style (e.g. using green color)
5. Tool tips text should be meaningful
6. Dropdown fields should have first entry as blank or text like ‘Select’
7. Delete functionality for any record on page should ask for confirmation
8. Select/deselect all records options 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 max field value. Input values greater than specified max limit should not be accepted or stored in database
14. Check all input fields for special characters
15. Field labels should be standard e.g. field accepting user’s first name should be labeled properly as ‘First Name’
16. Check page sorting functionality after add/edit/delete operations on any record
17. Check for timeout functionality. Timeout values should be configurable. Check application behavior after operation timeout
18. Check cookies used in an application
19. Check if downloadable files are pointing to correct file paths
20. All resource keys should be configurable in config files or database instead of hard coding
21. Standard conventions should be followed throughout for naming resource keys
22. Validate markup for all web pages (validate HTML and CSS for syntax errors) to make sure it is compliant with the standards
23. Application crash or unavailable pages should be redirected to error page
24. Check text on all pages for spelling and grammatical errors
25. Check numeric input fields with character input values. Proper validation message should appear
26. Check for negative numbers if allowed for numeric fields
27. Check amount fields with decimal number values
28. Check functionality of buttons available on all pages
29. User should not be able to submit page twice by pressing submit button in quick succession.
30. Divide by zero errors should be handled for any calculations
31. Input data with first and last position blank should be handled correctly

GUI and Usability Test Scenarios

1. All fields on page (e.g. text box, radio options, dropdown lists) should be aligned properly
2. Numeric values should be right justified unless specified otherwise
3. Enough space should be provided between field labels, columns, rows, error messages etc.
4. Scroll bar should be enabled only when necessary
5. Font size, style and color for headline, description text, labels, infield data, and grid info should be standard as specified in SRS
6. Description text box should be multi-line
7. Disabled fields should be grayed out and user should not be able to set focus on these fields
8. Upon click of any input text field, mouse arrow pointer should get changed to cursor
9. User should not be able to type in drop down select lists
10. Information filled by users should remain intact when there is error message on page submit. User should be able to submit the form again by correcting the errors
11. Check if proper field labels are used in error messages
12. Dropdown field values should be displayed in defined sort order
13. Tab and Shift+Tab order should work properly
14. Default radio options should be pre-selected on page load
15. Field specific and page level help messages should be available
16. Check if correct fields are highlighted in case of errors
17. Check if dropdown list options are readable and not truncated due to field size limit
18. All buttons on page should be accessible by keyboard shortcuts and user should be able to perform all operations using keyboard
19. Check all pages for broken images
20. Check all pages for broken links
21. All pages should have title
22. Confirmation messages should be displayed before performing any update or delete operation
23. Hour glass should be displayed when application is busy
24. Page text should be left justified
25. User should be able to select only one radio option and any combination for check boxes.

Test Scenarios for Filter Criteria

1. 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 is at least one filter criteria is required to perform search operation, make sure proper error message is displayed when user submits the page without selecting any filter criteria.
4. When at least one filter criteria selection is not compulsory user should be able to submit page and default search criteria should get used to query results
5. Proper validation messages should be displayed for invalid values for filter criteria

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 search parameters are used to fetch data shown on result grid
3. Total number of results should be displayed on result grid
4. Search criteria used for searching should be displayed on result grid
5. Result grid values should be sorted by default column.
6. Sorted columns should be displayed with sorting icon
7. Result grids should include all 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 result grid
13. Check if all columns are visible and horizontal scroll bar is enabled if necessary
14. Check data for dynamic columns (columns whose values are calculated dynamically based on the other column values)
15. For result grids showing reports check ‘Totals’ row and verify total for every column
16. For result grids showing reports check ‘Totals’ row data when pagination is enabled and user navigates to next page
17. Check if proper symbols are used for displaying column values e.g. % symbol should be displayed for percentage calculation
18. Check result grid data if date range is enabled

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 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 on background or parent window
6. Check window minimize, maximize and close functionality
7. Check if window is re-sizable
8. Check scroll bar functionality for parent and child windows
9. Check cancel button functionality for child window
 

Database Testing Test Scenarios

1. Check if correct data is getting saved in 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 design
4. Index names should be given as per the standards e.g. IND_<Tablename>_<ColumnName>
5. Tables should have 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 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 be given according to database name (again this is not standard but helpful for DB maintenance)
13. Stored procedures should not be named with prefix “sp_”
14. Check is values for table audit columns (like createddate, createdby, updatedate, updatedby, isdeleted, deleteddate, deletedby etc.) are populated properly
15. Check if input data is not truncated while saving. Field length shown to user on page and in database schema should be same
16. Check numeric fields with minimum, maximum, and float values
17. Check numeric fields with negative values (for both acceptance and non-acceptance)
18. Check if radio button and dropdown list options are saved correctly in database
19. Check if database fields are designed with correct data type and data length
20. Check if all table constraints like Primary key, Foreign key etc. are implemented correctly
21. Test stored procedures and triggers with sample input data
22. Input field leading and trailing spaces should be truncated before committing data to database
23. Null values should not be allowed for Primary key column

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 file name
5. Check duplicate name image upload
6. Check image upload with image size greater than the max allowed size. Proper error message should be displayed.
7. Check image upload functionality with file types other than images (e.g. txt, doc, pdf, exe etc.). Proper error message should be displayed
8. Check if images of specified height and width (if defined) are accepted otherwise rejected
9. 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 multiple images upload functionality
13. Check image quality after upload. Image quality should not be changed after upload
14. Check if user is able to use/view the uploaded images

Test Scenarios for Sending Emails

(Test cases for composing or validating emails are not included)
(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 email body template should be handled properly
4. Language specific characters (e.g. Russian, Chinese or German language characters) should be handled properly in email body template
5. Email subject should not be blank
6. Placeholder fields used in email template should be replaced with actual values e.g. {Firstname} {Lastname} should be replaced with individuals first and last name properly for all recipients
7. If reports with dynamic values are included in email body, 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.
10. Check send email functionality using TO, CC and BCC fields
11. Check plain text emails
12. Check HTML format emails
13. Check email header and footer for company logo, privacy policy and other links
14. Check emails with attachments
15. Check send email functionality to single, multiple or distribution list recipients
16. Check if reply to email address is correct
17. Check sending high volume of emails

Test Scenarios for Excel Export Functionality

1. File should get exported in proper file extension
2. File name for the exported Excel file should be as per the standards e.g. if file name is using timestamp, it should get replaced properly with actual timestamp at the time of exporting the file
3. Check for date format if exported Excel file contains date columns
4. Check number formatting for numeric or currency values. Formatting should be same as shown on page
5. Exported file should have columns with proper column names
6. Default page sorting should be carried in 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 data displayed on page and exported Excel file is same
9. Check export functionality when pagination is enabled
10. Check if export button is showing proper icon according to exported file type e.g. Excel file icon for xls files
11. Check export functionality for files with very large size
12. Check export functionality for pages containing special characters. Check if these special characters are exported properly in Excel file

Performance Testing Test Scenarios

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

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 fields like passwords and credit card information should not have auto complete enabled
19. File upload functionality should use file type restrictions and also anti-virus for scanning uploaded files
20. Check if directory listing is prohibited
21. Password and other sensitive fields should be masked while typing
22. Check if forgot password functionality is secured with features like temporary password expiry after specified hours and security question is asked before changing or requesting new password
23. Verify CAPTCHA functionality
24. Check if important events are logged in log files
25. Check if access privileges are implemented correctly
Penetration testing test cases –