The challenge of producing software today is the same as it has always been: Deliver high quality software within an acceptable timeframe.
The way we, as software engineers, try to tackle this challenge have changed somewhat now that we are in the ‘agile age’.
Being agile means many things and one of those is that we need to automate our testing to ensure we don’t get caught up in the mire of ever increasing regression test cycles.
The requirement to deliver ‘completed’ software within the confines of a sprint means that more demands are being placed on the QA’s of today to automate their work. This has resulted in a significant challenge to the current workforce has not yet caught up with demand in terms of SDETs (Software Development Engineers in Test). The approach described in this paper can work whether there is an SDET available to the team or not. If there is, they can fulfill the role of the developer and free the developers to produce the actual application. For the purposes of brevity, when I refer to developers in this paper this can equally apply to both developers and developers in test.
The approach described in this eBook is an attempt to tackle the problem of automating software with limited resources by effectively splitting the job into two parts, each tackled by the people with the best existing skills in that area:
Create a testing framework; this is put in place by the developers.
Create a suite of tests; These are created by the QA staff, which leverages the framework.