Assessing Agile Testing Practices for Enterprise Systems: A Survey Approach - Fazzolino, Rafael; de, Henrique Medrado de; Amaral, Luis Henrique Vieira; Canedo, Edna Dias; Rodrigues, Genaína Nunes; Bonifácio, Rodrigo (Anais do Simpósio Brasileiro de Testes de Software Sistemático e Automatizado (SAST); 2018: Anais do III Simpósio Brasileiro de Testes de Software Sistemático e Automatizado, 2018)
Testing enterprise systems is a challenging task. In this context, besides considering user requirements and business rules, there are several concerns that must also be considered when designing a test suite, including user interaction, integration with legacy systems, and access to relational or non-relational databases. In addition, test engineers often have to decide whether to test in the different levels (e.g., unit, integration, and system testing) or not, whether to use mock objects or not, and so on. Sadly, these decisions often conflict to each other. In this paper, we report an 18-month experience on using different approaches and tools to test two enterprise systems (SISBOL and SISDOT) from the Brazilian Army. SISBOL is an enterprise system based on the REST architectural style, using JEE (Java Enterprise Edition) in the business and integration tiers and AngularJS in the presentation tier. On the other hand, SISDOT is a "pure" Java enterprise system, using Java Server Faces on the presentation tier. We found that using executable specifications (as recommended in approaches based on Behavior Driven Development) is not only valid in test first scenarios as well as giving confidence on the system requirements validation, but they also help to identify new execution paths when the source code had been already implemented---suggesting that it is also promising to introduce a BDD approach in later stages of the development than testing pure JEE systems at the integration level.