• info@helpingtesters.com
  • helpingtesters

Testing in DevOps

October 3, 2016

Agility is the reason of emerging trend DevOps. DevOps comes up with the combination of two words “Development” & “Operations”. Aall teams should work together better communication and collaboration for delivery product.

Birth of DevOps

The earlier scenario was developers used to write the code, the built was shared with QA which raises the issues. Once those issues are fixed by developers, the build is shared with operation team to deployment & maintenance. As we are moving towards agility it gave rise to new challenges.

  • Very slow deliveries since build are shared with other teams
  • Continuous deliveries were not existing example tool Jenkins
  • Agility is about faster delivery 7 when multiple teams work it is harder to achieve
  • Higher failure rates in deliveries

What is DevOps

When the job is to perform development & Operations together it is called DevOps. It means the better communication between developer and operation. In the case of the waterfall model, we have time and requirements are fixed and operations team can handle code after development is completed.

While in cases of agility new requirements and daily deployment is not achieved if we have two teams. We need to work together and the word comes to DevOps. It speaks every task is going on in collaboration with each team i.e. talks about word “continuous”:

  • Continuous Development
  • Continuous Integration
  • Continuous Delivery
  • Continuous Monitoring

Earlier it was 3 teams development, Testing & operation. Then we started talking about the goal is to have delivered product hence developer & testers should work in collaboration. Now comes DevOps i.e. all teams should work together better communication and collaboration for delivery product.

What DevOps Do

  • Coding: Coding not just about writing scripts for testing or development, but major part includes for writing for server deployment, build rollbacks, deployment of patches, updates etc.
  • Working in collaboration with other Teams: DevOps i.e. development, operations & testing, so you have to be in communication with all these.
  • Having knowledge of many automation tools and how to use them: Today software industry has changed, new tools are coming daily with added features. 
  • Automation: DevOps is all about automation, less human effort more automation.
  • IT Operations: This was a separate isolated field before but now with agility, developers, and operations are one i.e. DevOps.

Devops, devops tools, devops testing

Role of QA in DevOps

  • Automation is the backbone of backbone. So as QA, you have to make sure you are automation all cases.
  • Automating no just the test case but process i.e. cleaning, deleting old data and another task. Make sure to have the maximum of automation.
  • Since QA mostly rely on automation so make sure scripts have maximum coverages.
  • All configurations should be present in separated files easy configure.
  • Scripts should be written so that minimum time is required for changes.
  • Test data should be automatically generated for minimum human intervention.
  • Using of tools Selenium, Appium, grid, Jenkins integration, Cucumber, cloud integration to comes into DevOps QA.
  • QA apart from just automation have to understand about an environment and able to set them for testing.
  • Good knowledge of Jira, Github is required.
  • Continuous learning for new tools and tips coming in the field of automation or scripts when can speed up the process of product delivery.
  • During development QA role in DevOps comes pushing the developer to release and time and adding them to continuous integration.
  • Minimum or no human intervention in running scripts.
  • During operation phases, QA needs to build scripts for monitoring like smoke tests, performance. While operations team is writing scripts for deployment, rollback etc.
  • Responsibility comes not only with finding defects and writing automation scripts but also refining the process and making changes.
  • In DevOps process, QA should have scripts for load and stress testing.
  • Testing in DevOps says to test continuously instead of agile which says start testing as early as possible.
  • Agile says about automate as much as possible while the testing in DevOps talks about automate everything because of frequent builds.
  • Integration of automation scripts with the dev builds tool i.e Jenkins so that test execution starts automatically.
  • Make different suites for smoke, sanity, regression so specific can be run as per need.
  • If regression suite is large try to have an intelligent regression suite which can be run when the tile is less.
  • Adapting BDD in automation is a key feature of automating in DevOps. 
  • Usability testing is a big concern in testing as we miss human testing.
  • Changing environment is a huge bottleneck in automation testing in DevOps. Try to automation changing environments first before automation functionality.
  • Scripts should be writing with keeping in mind minimizing maintenance efforts.
  • Always adapting to new features & tools.

 

About the author

Vaibhav Singhal author

Vaibhav is in software testing since a decade. Worked with different testing techniques along with exploratory testing. Performed different regression, performance, api etc testing with tools and libraries like selenium, jmeter, loadrunner, protractor, rest assured, Katalon Appium and others.

1 Comment

angelina

February 8, 2017 at 6:37 am

Thanks, i got few useful Devops Interview Questions here, can anyone suggest me some books and videos.

Leave a Reply

Your email address will not be published.