Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Agile Learning Labs
As shared @ AXA MedLA Agile meet up
21st April, 2016
personal thoughts: https://escapelocaloptimum.wordpress.com
Meetup goal★ Understand the importance of test automation
★ Create awareness of barriers and concerns related to test automation
★ Share good practices and lessons learnt
★ Discuss and learn from the different shared perspectives
★ Think of improvement plan
★ manual testing take tool long
Agility requires to deliver potential shippable increments within a short iteration. As our applications are
getting bigger the time required to test everything is getting bigger
★ manual regression testing requires a lot of time
★ dealing with bugs! Lack of automation for unit level testing consumes time in researching and
reproducing simple bugs., which means less time to deal with critical system bugs.
★ manual testing for complex cases where there is need to set up a series of data decreases speed
and increase demotivation.. setting up data is boring experience!
★ manual processes are error prone
Repetitive processes when done manually is also a boring task! And manual regression or unit testing could
become repetitive in iterative sw development resilient in
★ skipping steps that might introduce simple bugs
★ cutting corners especially when there is pressure to deliver and there is no time to test! think
about when testing starts within your sprints?
★ automation frees people to do their best work and
frees teams to deliver high quality sw frequently
★ more time on exploratory testing
★ more energy to think of extreme scenarios and negative testing
★ more time to design better code and tests
★ automated regression tests provide a safety net
★ a sufficient code coverage by automated regression tests gives a great feeling of confidence that
the legacy code won’t be broken
★ avoid seeing the testers as the safety net
★ automated tests give feedback early and often
Failed automated tests are indications that we might have added regression defects when making a code
change. this quick feedback could help programmers make the changes required quite soon while their memory
is still fresh
★ tests provide documentation
automated tests that describes the wanted behaviour act a living documentation of how our application
★ tests automation can increase ROI
★ gives the team the opportunity to perform exploratory testing and push the limits of the
functionality/application -> improved quality
★ time to correct bugs before code merging reduce technical debt and develop a robust code
★ more time to programmers and testers to concentrate in getting the right product out to market
in a timely manner
★ spare time test automation
people are allowed to work on test automation on their own time or as a side project when the test schedule
allows (no focus, no high priority, no required time investment)
★ lack of clear goals
clear goals for test automation should be defined! which are the benefits we are looking for? save time?
★ increase ROI?
★ improve quality?
★ keep testers motivated?
Note that different parties and stakeholders typically have different hopes. These need to be stated to avoid
miscommunication, uncertainty, misalignment that will result probably to demotivate and disengage people!
★ lack of experience
when done by inexperienced programmers/testers you might end up with a difficult to maintain test
★ programmers attitude
why we need to automate? QA team secures the quality of our code. change this mindset! educate your
people first for the test automation benefits!
★ continuous integration, builds and deployed
any repetitive or slow/too long task involved in sw development is a candidate for automation
★ automated builds informs automatically when a build is ready to be tested. should be short less
★ automated deployment speed up the process
★ a fast automated continuous integration and build process gives the greatest ROI of any
automation effort. it should be were to start!
★ unit and components tests
automating at unit level is of highest priority and attention. good test driven development skills could help you
create robust and well designed unit tests
★ testing behind the GUI or the GUI itself
automating tests on business logic or even the GUI itself (selection of a few regression tests)
★ load tests
need some tool or framework to perform load testing automatically
what can we automate?
★ usability testing
in these case real users need to test our application and we need to see reactions on usability
★ exploratory testing
used to learn more about the product we are implementing and use that information to improve our future
what we should not automate
★ make sure you have a dedicated automation engineer in your
★ an automation tool is important but it is not the solution of
★ select the automation tool that is familiar to your people
★ know the application under test
★ automating without good design may result in a lot of
activity and little value
★ you cannot automate everything
★ automation is sw development so follow sw development
best practices to start test automation
★ management support for test automation. set realistic
objectives and providing sufficient and appropriate resources
to achieve a planned return on investment
★ good technical architecture for the automated test-ware
two key patterns for successful test
★ does the tool support the operating system/
browser or device in which your application/
★ does the tool support the technologies used in your
★ does the tool support the connection with different
★ how is the reporting mechanism of the automation
★ can the tool be integrated with test case and big
★ how is the official tech support of the tool?
★ Unit: a framework to write repeatable tests
★ Mockito: a mocking framework for unit tests in java
★ Jacoco: code coverage library for java
★ Arquillian: integration testing
★ Selenium: functional testing/UI
★ PhantomJS: functional testing/UI
★ regularly review of automated tests to ensure that they are meet their
purpose. the point is to get quick feedback from automation! make everything
needed to ensure that!?
★ tool training early can save a lot of wasted time later
★ make your benefits visible to management! visibility of the results of test
automation is essential
★ a combination of tools may provide an overall solution that not single tool can
give! don’t be afraid to mix and match, including open source, commercial your
own developed tools
★ good prioritisation of tests to be automated is needed
★ don’t try to fix old problems (yet). start better practices with your new
★ set a few objectives and enhance them while you are getting more