IMO, Keyword-driven Programming (e.g. Robot Framework over Python – we use for embedded, with Selenium and Java GUI testing built-in capabilities).
Keyword-driven, with good style guide and coding rules, allows programming tests not only for validation engineers, but it is even quite easy for developer’s unit tests.
For me, two of it’s features standout.
1.the availability of an IDE in RIDE
2.the logs that it generates. in the case of defect reporting, these logs are the equivalent of exception generation when compared to programming.i can’t stress how useful these are.
Model-Based Testing is an emerging methodology for software testing. It offers better coverage and efficiency in handling changes. It combines test case design and test automation into a seamless process for ultimate efficiency through modeling and algorithm.
The main trends I see are a focus on increasing the rate at which new test cases/scripts can be developed and a focus on non-technical people being able to write test cases/scripts. Keyword-driven, record-and-playback, record-and-run, etc.
There is nothing wrong with these trends per se, but I wish I saw more focus on reducing maintenance and total cost of ownership, instead of just increasing the rate of new script development. Maintenance is a large and often unaccounted for part of any automation initiative.
Recording tests as they are performed manually has been a great way to get my feet wet with scripting/automation tool, but I don’t believe this methodology is very cost-effective when it comes to maintenance and re-use as a long term solution. My experience has been that when I parameterize tests they lend themselves to high re-use and easy one-stop maintenance.
I suppose I should insert some mention of caution at this point. If re-use is high maybe checks in the development process should be put in place to help ensure the best quality scripts possible because if the testing methodology is flawed a very large number of tests may be impacted. I try to avoid negative scenarios like that and advertise the heck out of my work being thankful for feedback.
The other caution point I can think of off the top of my head is being careful how to balance complexity with re-use. If re-use is taken too far scripts may become more complex than they are valuable.Based on what I have seen, trend is towards better automation. Some of the things I have noticed are
* No vendor scripting
* No focus on record and playback
* Lots of open source tools
* Availability of excellent libraries
* Integration with dev tool chain, continuous integration etc.
* Testers getting more comfortable with the programming languages
IMO, we will continue to see the rise of tools such as WebDriver etc which assumes familiarity with programming languages and are easier to integrate with the dev tool chain.
Needless to say, if automation is not handled properly it can easily lead you in the wrong direction. Have a look at this blog post – http://www.testinggeek.com/a-software-tester-s-journey-from-manual-to-political to see how with all the good intention, automation can have extremely disastrous consequences..
In the beginning we test what developers want.
They want to test their design. Later we changed to have more focus on testing the added value of the factory. The data from the testers was used to improve the processes in the factory’s. Now we see that factory defects are less than 20% of the field returns. This means almost 80% are design issues. If we look closer: its about 30% first design and 50% due to changes in the design.
So we have to focus now more on design and changes. These are batch related while process issues are more single product related.
Now we start to implement Halt Hass testing to find design issues.
Behavior Driven Testing(Automation) using tools like Cucumber, Jbehave. Now the emerging trends are around scriptless and model based automation .Can I ask one question to you all , does these two approaches or technique really stable than what we wrote in business components ? I agree that swill speed up the automation effort but honestly I have a doubt on the robustness and maintenance.Open-source solutions for web and mobile applications testing are in trend now. As an example you can take Appium(http://appium.io/) for hybrid and native mobile applications on Android and iOS. As a concept Keyword Driven Testing approach (Robot Framework (http://robotframework.org/))is becoming more and more popular. It allows to involve manual testers into automation process and increase ROI.