triangle
arrow
Influence Of Emphasized Automation In CI

22-Mar-2018

By Harinder Kaur

Influence Of Emphasized Automation In CI

Software systems are an integral part of life from business applications to consumer products. Quality has become a major paradigm these days. Software testing itself is a vast area to be classified. Primarily, testing can be performed in two ways; either manually or automated testing. It is very crucial to decide when to choose manual or automation testing during software development to ensure quality meeting project constraints. Hence, the latest deployment methods are required to provide well-functioning software in production as frequent as possible. This is where Continuous Integration and continuous deployment comes into use.

What is CI/CD?

It means continual integration of the code to the relevant branch of the working project. It implies that "integration tests" are run at every code change while Continuous Delivery means that every change that passes tests are automatically deployed.

For instance, this technique can be implemented through the agile model in which teams work in small increments and deploy it to a live environment after each sprint.

Unfortunately, this approach introduces problems due to troublesome testing strategies followed in numerous companies.  Some organizations emphasize automation and fully avoid manual testers. Others concentrate on automation testing but not allowing testers to get involved in test strategies.  Therefore, a moderate approach needs to be followed to take full advantage of automation testing.

Verification vs. Testing

The test strategies are created in a CI environment where the focus is on automation mostly guarantees checking or verification and negligible testing (as in exploration). Hence, testers could not find something out of the box. Good testing includes both.

In addition to this, focusing on automation checks fulfilling the acceptance criteria when developing a new feature will only enable you to reach a small part of the way towards good quality. It can seem easy to develop and check (not test) the functionality. In addition to this, it is thought to perform the same tests repetitively. But they are failed at finding one important scenario which could be the most valuable one. On the flip-side, if the focus is on finding things that have not been considered by the team yet would ensure great quality.

Advantages of manual over automation

It is impossible to test each and every scenario using an automated tool. When an application or product arrives for testing; the testing team starts planning its software testing life cycle activities. A number of test cases are created for the application beforehand to carry out the testing. Some test cases would be non-repetitive which might be complex and too costly to automate. There are other tests that are repetitive and are executed every time the build is received. It could be functionality that must be in a working condition at all times. Out of all those, the desired test cases which we want to automate are filtered.

[ Important Read: How to Improve Test Case Efficiency? ]

Furthermore, only a fraction can be automated out of the planned ones because automation is time consuming and difficult task.  Apparently, it will not provide full assurance to the stakeholders in the context of quality.

In addition to this, automation testing cannot replace human implications, intuitions and reasoning. Only a known set of test cases are automated in real-life scenarios. The most of test automation is performed on checking one view of the system. Testers have the tendency to design repeatable tests on items that are familiar.

This repeatable checking finds things that were conjectured to be known. These items can probably change as time passes with the system development. In this area specifying the expected outcome correctly is feasible.

Exploring beyond the specification will recognize things to be explored and learnt more about. This might include areas for research, particular risks or just a desired idea to understand. It is not possible to clearly state the outcome before examining here. Moreover, it is unlikely to automate such things.

Testers have the tendency to discover new things while exploring/testing.

Occasionally, testers identify something surprisingly valuable. Similarly as mentioned before, such scenarios can also not be automated. Automation is majorly performed on the known things. Hence, it would not be ok to ignore things that are valuable and not known until enough time is spent on testing or exploring.

author

Harinder Kaur

Harinder works as Automation Test Engineer at BugRaptors. She is experts in writing scripts in web driver/Behat using Cucumber, gherkin languages. She has tested the web application on multiple Browsers and OS using Automation.

Most Popular

Tech Talks With Aparna A Gopalakrishnan

25-Jul-2022 Tech Talks With Aparna A Gopalakrishnan
Read more

Future Of Manufacturing With IoT: Understanding The Opportunities And Challenges

22-Feb-2022 Future Of Manufacturing With IoT: Understanding The Opportunities And Challenges
Read more

The Future Of Manufacturing Industry & Its Emerging Tech Landscape

18-Feb-2022 The Future Of Manufacturing Industry & Its Emerging Tech Landscape
Read more

Interested to share your

QA Requirement!

Tags

  • Continous integration testing
  • continuous integration
  • Continuous integration in agile
  • Sign up for newsletter !


    Comments

    No comments yet! Why don't you be the first?
    Add a comment

    Join our community
    of 1000+ readers.

    To get the latest blogs and techniques on software testing & QA Industry.

    *By entering your email, you subscribe to receive marketing uplates from Bugraptors.You can unsubscribe at any time. For more info, read BugRaptors Privacy Policy.