How to Evaluate BDD Scenarios' Quality?
Resumo
A scenario from the Behavior-driven development (BDD) practice is a known format to represent acceptance tests in agile methodologies, communicating assumptions and expectations by expressing the details that result from the conversations between customers and developers. We believe that this formalization of behavior need to be of good quality to avoid known requirement problems that arise from bad documentation, such as incomplete, underspecified and inconsistent requirements. However, there are only informal guidelines to guide practitioners on their BDD scenarios' elaboration and quality evaluations. To address this lack of guidance, we define a set of quality attributes and propose a question-based checklist to assist BDD scenarios' quality evaluations. [Methods] The quality attributes were identified from an interview-based study with 18 practitioners. In this study, practitioners shared their interpretations on an initial set of literature-informed quality attributes and their own personal evaluation criteria. We consolidated both in a single list of newly redefined attributes, used in the definition of our proposed checklist. We believe that our newly re-defined quality attributes and question-based checklist can enhance the existing guidelines and practitioners' ability to evaluate BDD scenario's quality by providing them with an standard guideline for scenarios' refinement conversations.
Referências
Mike Cohn. 2004. User Stories Applied: For Agile Software Development. Addison-Wesley Publishing Co., Inc., Redwood City, USA.
Daniela S. Cruzes and Tore Dyba. 2011. Recommended Steps for Thematic Synthesis in Software Engineering. In Int'l Symposium on Empirical Software Engineering and Measurement, Banff, Canada. 275--284.
D. Méndez Fernández, S. Wagner, M. Kalinowski, M. Felderer, P. Mafra, A. Vetrò, T. Conte, M.-T. Christiansson, D. Greer, C. Lassenius, T. Männistö, M. Nayabi, M. Oivo, B. Penzenstadler, D. Pfahl, R. Prikladnicki, G. Ruhe, A. Schekelmann, S. Sen, R. Spinola, A. Tuzcu, J. L. de la Vara, and R. Wieringa. 2017. Naming the pain in requirements engineering. Empirical Software Engineering 22, 5 (2017), 2298--2338.
Diaspora Foundation. 2017. Diaspora: The online social world where you are in control. https://diasporafoundation.org/ Visited in: 2018-02-03.
M. Gartner. 2012. ATDD by Example: A Practical Guide to Acceptance Test-Driven Development. Addison-Wesley Professional.
Petra Heck and Andy Zaidman. 2017. A framework for quality assessment of just-in-time requirements: the case of open source feature requests. Requirements Engineering 22, 4 (2017), 453--473.
Ville Heikkila, Daniela Damian, Casper Lassenius, and Maria Paasivaara. 2015. A Mapping Study on Requirements Engineering in Agile Software Development. In Euromicro Conference in SEng, Funchal, Portugal.
IIBA. 2009. A Guide to the Business Analysis Body of Knowledge (BABOK Guide) 2nd Edition. International Institute of Business Analysis.
IIBA. 2015. A Guide to the Business Analysis Body of Knowledge (BABOK Guide) 3rd Edition. International Institute of Business Analysis.
G. Lucassen, F. Dalpiaz, J.M.E.M. VanDerWerf, and S. Brinkkemper. 2015. Forging high-quality User Stories: Towards a discipline for Agile Requirements. In Int'l Requirements Eng. Conf., Ottawa, Canada. 126--135. https://doi.org/10.1109/RE.2015.7320415
Gabriel Oliveira and Sabrina Marczak. 2017. On the Empirical Evaluation of BDD Scenarios Quality: Preliminary Findings of an Empirical Study. In Workshop on Empirical Requirements Engineering in conjunction with the International Requirements Engineering Conference. IEEE, Lisbon, Portugal.
John Smart. 2014. BDD in Action: Behavior-Driven Development for the Whole Software Lifecycle. Manning Publications, Shelter Island, NY. 384 pages.
John Ferguson Smart. 2017. Broad brushes and narrow brushes: there's more to BDD than Given/When/Then. https://johnfergusonsmart.com/theres-bdd-givenwhenthen/ Visited in: 2017-12-06.
Anselm Strauss and Juliet Corbin. 1990. Basics of qualitative research: grounded theory procedures and techniques. Sage Publications. 272 pages.
Matt Wynne and Aslak Hellesoy. 2012. The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Pragmatic Bookshelf. 336 pages.
Yang-Ming Zhu. 2016. Software Reading Techniques: Twenty Techniques for More Effective Software Review and Inspection. Apress.