Search code examples
unit-testingautomated-testsend-to-end

How should one introduce automation testing to a software which is already in production?


How should one introduce automation testing for a software (Android & iOS) which is already in production? Such software was only undergoing user acceptance testing (manually) which was being done manually. Since the system is already built, which would be the most efficient approach to introduce automation testing? From where should one start? Which types of testing would one ideally start with? Thanks


Solution

  • Since you're in situation where the traditional approach won't work, my suggestion is to reverse it. The automation tests require stable and separate environment to run (assuming you won't test on your local PC), so assuring the QA one is the first step in achieving

    introduce automation testing

    Moving your prod code to lower environment will give you a chance to build a pipeline, my assumption is that future development will be taken and that's why you're facing this scenario.

    Regarding

    Which types of testing would one ideally start with

    once you have your QA env a Smoke testing will give you first results and if used for every deploy/release will guard you from broken env or deploys. Another major part is the Integration testing, it'll verify functional, performance, and reliability requirements. I'm assuming the code has already passed Unit testing. After the development is in active state again, next logical step is to go with the Regression, will give you enough confidence in the product's new features.

    Since this will be a significant automation effort - a CI process and server should be put to work. Here you can chain the Smoke suite. You can take a look at circleci or greenhouseci for your case

    automation testing for a software (Android & iOS)

    Achieving above said, it's actually up to business to decide how much testing is enough. Do they need security, performance, usability etc.