TY - GEN
T1 - Bridging the Gap between Requirements Modeling and Behavior-Driven Development
AU - Alferez, Mauricio
AU - Pastore, Fabrizio
AU - Sabetzadeh, Mehrdad
AU - Briand, Lionel C.
AU - Riccardi, Jean Richard
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/9
Y1 - 2019/9
N2 - Acceptance criteria (AC) are implementation agnostic conditions that a system must meet to be consistent with its requirements and be accepted by its stakeholders. Each acceptance criterion is typically expressed as a natural-language statement with a clear pass or fail outcome. Writing AC is a tedious and error-prone activity, especially when the requirements specifications evolve and there are different analysts and testing teams involved. Analysts and testers must iterate multiple times to ensure that AC are understandable and feasible, and accurately address the most important requirements and workflows of the system being developed. In many cases, analysts express requirements through models, along with natural language, typically in some variant of the UML. AC must then be derived by developers and testers from such models. In this paper, we bridge the gap between requirements models and AC by providing a UML-based modeling methodology and an automated solution to generate AC. We target AC in the form of Behavioral Specifications in the context of Behavioral-Driven Development (BDD), a widely used agile practice in many application domains. More specially we target the well-known Gherkin language to express AC, which then can be used to generate executable test cases. We evaluate our modeling methodology and AC generation solution through an industrial case study in the financial domain. Our results suggest that (1) our methodology is feasible to apply in practice, and (2) the additional modeling effort required by our methodology is outweighed by the benefits the methodology brings in terms of automated and systematic AC generation and improved model precision.
AB - Acceptance criteria (AC) are implementation agnostic conditions that a system must meet to be consistent with its requirements and be accepted by its stakeholders. Each acceptance criterion is typically expressed as a natural-language statement with a clear pass or fail outcome. Writing AC is a tedious and error-prone activity, especially when the requirements specifications evolve and there are different analysts and testing teams involved. Analysts and testers must iterate multiple times to ensure that AC are understandable and feasible, and accurately address the most important requirements and workflows of the system being developed. In many cases, analysts express requirements through models, along with natural language, typically in some variant of the UML. AC must then be derived by developers and testers from such models. In this paper, we bridge the gap between requirements models and AC by providing a UML-based modeling methodology and an automated solution to generate AC. We target AC in the form of Behavioral Specifications in the context of Behavioral-Driven Development (BDD), a widely used agile practice in many application domains. More specially we target the well-known Gherkin language to express AC, which then can be used to generate executable test cases. We evaluate our modeling methodology and AC generation solution through an industrial case study in the financial domain. Our results suggest that (1) our methodology is feasible to apply in practice, and (2) the additional modeling effort required by our methodology is outweighed by the benefits the methodology brings in terms of automated and systematic AC generation and improved model precision.
KW - BDD
KW - FinTech
KW - Gherkin
KW - modeling
KW - requirements engineering
KW - Software testing
KW - text generation
UR - http://www.scopus.com/inward/record.url?scp=85076097932&partnerID=8YFLogxK
U2 - 10.1109/MODELS.2019.00008
DO - 10.1109/MODELS.2019.00008
M3 - Conference contribution
AN - SCOPUS:85076097932
T3 - Proceedings - 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems, MODELS 2019
SP - 239
EP - 249
BT - Proceedings - 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems, MODELS 2019
A2 - Kessentini, Marouane
A2 - Yue, Tao
A2 - Yue, Tao
A2 - Pretschner, Alexander
A2 - Voss, Sebastian
A2 - Burgueno, Loli
A2 - Burgueno, Loli
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2019
Y2 - 15 September 2019 through 20 September 2019
ER -