Best Practices for establishing Automated Continuous Testing
Courtesy: Internet

Best Practices for establishing Automated Continuous Testing

With the advent of DevOps model of continuous integration and continuous deployment, there is high demand on QA organization to test faster and test continuously. Continuous integration requires that every time somebody commits any change, the entire application is built and comprehensive set of automated tests is run against it. We all know very well that automated test is the only way to support feedback loop faster and reduce the workload on testers. So, what are the best practice for establishing the automated continuous testing strategy and avoid significant cost on delivery due to inefficient automation framework and poor-quality practices?

  •  Architect the test automation framework to integrate easily with any type of Continuous Integration and SCM tool so that CI migration can be less hassle in case your project/program has changed its strategy with CI or SCM Tool
  • Test implementation should call through an application driver layer, to actually interact with the system under test. The application driver layer has an API that knows how to perform actions and return results. Automation at API level is less fragile and easier to manage. This will support quality to shift left.
  •  Implement Test Driven Development (TDD) to reduce development cost, prove that develop code working as expected in turn enabling faster deployment to Production
  • Ensure that your automated script run on all the supported browser and handled exception specific to the browser. Run your test regularly to identify intermittent failure due to UI or Environment changes
  • Handpick the tool whose scripts can be version controllable and can be diff for comparing and merging. Align test script version with development process of mainline and branching based on major release and feature to support deployment pipeline
  • Strive to ensure that tests are atomic so that the order in which they execute does not matter and can be run in parallel. An atomic test executes steps it needs and then tidies up behind itself with record of pass or fail.
  • Implement try {} catch{} ..finally{} to handle exception in script or in the application under test
  • Utilize tool like Apache Ant or Maven to manage test build and reporting. It will help to define the target test suite along with various parameters like different browsers, environment to be passed for the run. This will allow us to easily control the script easily with tools like Jenkins or TFS
  • Maintain separate test builds for smoke test, regression test etc. and tie them to development build. This will allow you to establish continuous automated test without monitoring the environment deployment notification or any verbal communication. For example, Jenkins allows you to create test build and tie them to any development build. Whenever, a build is completed by development team, it will automatically trigger test build and run the relevant smoke or regression test in remote virtual machine or cloud virtual machine

Last but not the least, plan for IT infrastructure (DB, Master-Slave) to enable distributed run seamlessly

I welcome any discussion to understand your experience and challenges in implementing the best practices.



Review Courtesy: Shanmugam Lakshmanan

Raju Dubey

Assistant Vice President - Wells Fargo | Selenium | Rest Assured | Appium | Java | Jenkins | Maven | Git | Jmeter | CA LISA Service Virtualization | Cucumber | SQL | ISTQB | Azure | TestNG | SpringBoot | React

5 年

Hi Kamal, have you worked on SahiPro? If Yes then could you please suggest me some quality learning material or some or any tips from exprience?

回复
Kartic Vaidyanathan

Guest Faculty IIT Madras | Personal and Professional Development | Consultant - Microlearning through Play/Games

7 年

Kamal, Good article outlining the steps needed to optimize and also improve test efficiency

回复
Rajat Tandon

Vice President, Engineering @ JP Morgan Chase | Speaker | Diversity Advocate| Harvard | Leader

7 年

Awesome read we do all or most of it feeling happy??

Devaraj Hebbur

Transformation and Change - Evangelist, Coach and Consultant

7 年

Good one

回复
Adolf Patel

Sr. Manager||Sr. Architect @ Cognizant | Driving Business Growth, Quality Assurance Expert, Performance Test Architect

7 年

Nice article on CI. QA is no more reactive business, it has transformed from reactive to proactive to predictive now.

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了