Modern testing for modern stacks

We have gotten into the habit of thinking deeper about one topic on a weekly basis. We pick topics based on anything interesting we read - so the topics can range from 'how to express the value of testing' to 'Dieter Rams' design principles' to 'effective remote work habits'. Employees are guided to spend no more than one hour researching the topic online. The emphasis is on coming up with their own ideas and interpretations. We then meet as a group to exchange ideas. I love this habit and consider it one of the more unique benefits you will enjoy at Qxf2.

Topic: Will automated testing really save you time?

05-Dec-2016

This discussion gives you different viewpoints on whether automation testing really save you time or not

Our thoughts

Arun

I don't think it is possible to compare how much time automation 'saves' because there are several costs associated with automated tests. You need to develop the tests, integrate them in a useful way with your team, provide visibility into results, then maintain the tests, communicate its limitations and very often hire people who can write automation. This cost is pretty high and must factor into the 'saving time' discussion ... and I have no way of factoring these costs against the regular manual execution. I still think automation is useful. A few cases (off the top of my head) where automation is useful: a) it's a great entry point to getting your developers interested in testing b) it can provide a better setup/entry point for exploratory testing by performing a lot of the test setup activities (e.g.: at a client we submitted ~65 surveys with ~110 questions in under 5 minutes so a human could go and analyze the results) c) it can help with testing algorithms that need structured data d) it definitely increases the frequency with which some tests can be run which in turn helps the developers test and integrate smaller changes

Avinash

I thought about this topic but couldn't figure out how much time GUI automation actually saves. There are certain tasks which are repetitive like smoke tests which are performed daily, data creation which can be feeder for your tests. This is a good candidate to be automated which saves time. But in some other cases maintenance cost is higher with GUI automation. I am sure when we estimate its very tough to come up the maintenance effort involved. API checks is a good way to automate than GUI. The changes would be minimal. Also I feel in start up space when the changes are so frequent we don't have tests which are stable. Tests need constant changes. So is it worth having GUI automation for saving time? Off course there are other benefits like it can act as a first point check for developers to check their code. They don't need to wait for testers to confirm their code works fine. 'To err is humanΓÇÖ so we can have machines perform some checks which humans may miss, but again humans may find some other issues for which checks were not added. It can also work as dome good source of documentation. In my previous company we had 2 to 3 weeks of regression testing done by around 6 to 8 resource all manually. There were issues which we missed but most of the issues which i think off i doubt it would have been caught if we had some basic automation. Yes if we had resource and time we could automate everything but is it ever going to be worth.

Shiva

Does automation save time? It does in certain cases but it is not the only factor based on which a decision has to be made. Automation can be used in mundane tasks that has to be repeated. It can/has been used widely for regression. I also agree with Arun here where i think it is a starting point for developers on testing. And it can help us test our application on different browser and OS combination with considerable ease. If automation really saves time then we might see API tests replacing GUI tests as they only take a fraction of time of what is required to run a GUI test.

RohanJ

From my point of view Automated testing really saves time and also human resource that is required to perform manual testing. Main benefit i think of automated testing is that you can run tests across multiple devices, operating systems,browsers simultaneously and it can be done by developer also if QA is not present. But while doing so initial setup costs would be high as you will need automation engineer to write scripts, integrate it with your CI,also you need server setup for running tests simultaneously, but in the long run it saves time and cost of the human resource required.Also automated testing is more reliable and way quicker when running repetitive tasks which cannot be skipped but may cause errors when manually tested as human beings get bored doing repetitive work.

Raj

Every software development group tests its products,and the delivered software always has defects. Test engineers strive to catch them before the product is released but the bugs will always present , even with the best manual testing processes. Test automation is the best way to increase the effectiveness, efficiency and coverage of your software testing. Manual software testing is performed by a human sitting in front of a computer carefully going through application screens, trying various usage and input combinations, comparing the results to the expected behavior and recording their observations. Manual tests are repeated often during development cycles for source code changes and other situations like multiple operating environments and hardware configurations. An automated testing tool is able to playback pre-recorded and predefined actions, compare the results to the expected behavior and report the success or failure of these manual tests to a test engineer. Once automated tests are created they can easily be repeated and they can be extended to perform tasks impossible with manual testing. Software tests have to be repeated often during development cycles to ensure quality. Every time source code is modified software tests should be repeated. For each release of the software it may be tested on all supported operating systems and hardware configurations. Manually repeating these tests is costly and time consuming. Once created, automated tests can be run over and over again at no additional cost and they are much faster than manual tests. Automated software testing can reduce the time to run repetitive tests from days to hours. A time savings that translates directly into cost savings.

Rohan

Yes, according to me, automation really saves a lot of time and human resources. At one of our client, we are running our tests across 35 OS-Browser combination. Exploring across 35 OS-Browser combinations manually is not a simple task and its very time consuming. Practically, no one thinks of testing on 35 OS-Browser combination manually. One more advantage of automation, you can run your test parallelly, which also saves a lot of time. We are running 16 GUI tests across 5 channels, and producing the result in just 8 or 9 min And we observed that developers are also contributing to testing. That is a good sign. In absence of QA, developers can maintain tests. I agree with all, there are some parameters we also need to be consider such as quality of code, a rigidity of test script.

Viraj

Automation does save time only for regression work for new features/releases. On the other side of automation scripting and maintaining script of constantly changing UI or Product is very hard. Manual testing gives lots of bugs, it's flexible but it requires skilled tester. As a conclusion, Automation saves time for regression work where manual testing gives bugs. 100% automation can not be achieved.

paper cut