Manual Testing Best Practices
We test web and mobile applications and perform various types of testing including Regression, Functional, Smoke, Sanity, Adhoc etc.
Best practices we emphasis on are:
- Analysis of application either with documents or through meetings with developer/businessanalyst.
- Create clear test cases including functional steps, priority, expected output etc.
- Execute all the test cases and mark results.
- Report issue in well defined structure with recommended tool or in excel format with clear functional steps.
- Also screen shot and videos for failure test-cases along with results and issues with desired expected output is provided.
- Performing re-testing and regression testing for resolved defects.
- Use of well formatted matrices to generate the report.
Automation Testing Best Practices
We take advantage of selenium / webdriver along with java for web application automation testing, targeting all browsers and operating systems.
Use Appium along with selenium /webdriver and java for mobile application, targeting android and iphone applications.
Following are the best practices we use for automation testing :
- Identifying test cases, prioritise test cases for automation. Generally test cases which are repeated or critical used are automated first.
- Follow page object and page factory pattern, which allow us to keep all actions and locator on same page for enhancing test maintenance and reducing code redundancy. Page object is object oriented that serves as an interface to a page of application under test.
- Keep all inputs in CSV file and which should be user friendly.
- Use of Test NG / JUnit framework. It provides lots of in-build strong functionalities.
- Generated reports are user friendly.
- Create a log file, which contains all the steps along with error if any.
- Preferred selector order : ID > Name > CSS > Xpath.
- the element's Id.
- the element's name attribute.
- Xpath statement.
- by link text.
- an CSS statement.
- Avoid Thread.sleep and prefer Wait or FluentWait.
- Use relative path and URLs, so that if changes are needed it can take place at a single location.
- Take and store failure test cases with screenshot and video.
- Write clear test cases along with good commenting and grammatically correct .
- Keep all related things in common library.
- Use build tools (ant and maven), to run suite in single click.
- Applying best practices like naming conventions, documentation.
- Integrate another tools if needed, For example if we need to deal with OS level dialog boxes, then integrate another tool in selenium scripts.
- Divide test cases in groups like regression testing, smoke testing.
- Data provider for parameterization is used.
Performance Testing Best Practices
We use Jmeter or selenium as performance/Load/Stress testing tool.
Following are the best practices we use for performance testing:
- Analysis of the webservices /API .
- Create script and scenario for the services.
- Creation of JMX,JTL,CSV, XML for individual API or for multiple.
- Test the services from minimum to maximum load.
- Report generation in tabular, graph and descriptive format.
- Summarization of report.
- Parallel execution of the services.
- Continues execution of the services up to number of days.
- Daily, Weekly and Monthly reports are generated.