Robotic Process Automation (RPA) can be regarded as a special kind of Business Process Management (BPM) that relies on GUI automation adaptors instead of regular interfaces for intersystem communication. Another difference between RPA and standard BPM is that RPA processes do not need to be defined from scratch as RPA is basically transforming an operator’s implicit process knowledge into a workflow definition to be executed by the robot’s workflow engine. In this context, the basic idea of Test Driven Development (TDD) can be used to jump start requirements engineering and process definition by leveraging the operator’s interaction with the workflow targeted for automation. This paper presents a conceptual approach for integrating TDD with RPA development: In a first step, the manual process is enriched with probes that record input and output values for each execution of the workflow. Users then manually perform the process using screen recording and the probes to define annotated test cases stored in a backlog. TDD works by selecting an arbitrary recording from the backlog and using it for automating the equivalence class of test cases to which it belongs. All test cases from this equivalence class are then removed from the backlog. These two steps are iteratively repeated until all test cases are covered by the robot process definition.
[1]
John Paul,et al.
Automated Software Testing: Introduction, Management, and Performance
,
1999
.
[2]
William Lewis,et al.
Software Testing and Continuous Quality Improvement
,
2000
.
[3]
W.M.P. van der Aalst,et al.
Business Process Management: A Comprehensive Survey
,
2013
.
[4]
Kent L. Beck,et al.
Embracing Change with Extreme Programming
,
1999,
Computer.
[5]
Leslie P. Willcocks,et al.
Service automation robots and the future of work
,
2016
.
[6]
Glenford J. Myers,et al.
Art of Software Testing
,
1979
.
[7]
Laurie A. Williams,et al.
Realizing quality improvement through test driven development: results and experiences of four industrial teams
,
2008,
Empirical Software Engineering.
[8]
G. Myers,et al.
The Art of Software Testing: Myers/Art
,
2012
.
[9]
Kent L. Beck,et al.
Extreme programming explained - embrace change
,
1990
.