Reusing Test Asset in Software Factories Jorge A. M. Corrêa de Oliveira jorge.oliveira@cesar.org.br December 27, 2018
Summary Introduction Fundaments of Testing Formal Verification, Testability and Testing Component Testing in a Software Engineering Process Phases of Testing Test Automation Testing in C.E.S.A.R Motorola Brazil Test Center December 27, 2018
Formal Verification, Testability and Testing [VOAS et al, 1995] Combine Testability, Formal Verification and Testing Testability "The degree to which a system or component facilitates the establishent of test criteria and the performance of tests to determine whether those criteria have been met.” IEEE Standard Glossary of Software Engineering Technology Formal Verification “Process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.” Testing ????????? December 27, 2018
Component Testing in a Software Engineering Process [GOUVEIA, 2004] “unir o processo de teste ao processo de desenvolvimento do software, isto é, fazer com que estas duas etapas ocorram paralelamente e de forma colaborativa, e não uma após a outra.” December 27, 2018
Phases of Testing [WHITTAKER, 2000] Modeling the software’s enviroment 1st Point 2nd Point Selecting test scenarios Running and evaluating test scenarios Measuring testing progress December 27, 2018
Software Test Automation Advantages 1st Point 2nd Point Disadvantages Statistically How to make it worthful? December 27, 2018
Tests on C.E.S.A.R Motorola E2E Motorola P2K Brazil Test Center Web Testing Motorola P2K Brazil Test Center Mobile software testing December 27, 2018
Brazil Test Center BTC Test Design BTC Test Execution BTC Feature Test Writes test cases based on scaped defects BTC Test Execution Runs Sanity, Regression, Integration and Load Tests BTC Feature Test Writes test cases based on software requirements and Executes the test cases BTC Test Automatic Execution Executes Automated Test Cases for Sanity, Integration and Stress Tests BTC Test Automation Develops a Test Automation Framework and Automated Test Cases December 27, 2018
Reuse in Test Design High Level Test Cases What is? Why? How to? December 27, 2018
Reuse in Test Execution Execution History What is? Automation of the tests’ initial condition December 27, 2018
Test Automation: Reuse Framework based on reuse Implementation + Design Design Patterns Memento Composite Builder Facade Visitor Template Method Abstract Factory Singleton Adapter Bridge Same test case for all kinds of software More than 6 executions per machine December 27, 2018
References [VOAS et al, 1995] Jeffrey M. Voas and Keith W. Miller, Software Testability: The New Verification, IEEE Software, May 1995. [WHITTAKER, 2000] James A. Whittaker, What is Software Testing? And Why Is It So Hard?, IEEE Software, Practice Tutorial, January 2000. [GOUVEIA, 2004] Cidinha C. Gouveia, Testes de Integração para Sistemas Baseados em Componentes. Master’s thesis, UFCG, July 2004. [OLIVEIRA et al, 2005] Jorge Corrêa de Oliveira, Cidinha C. Gouveia, Romulo Quidute, Test automation viability analysis method, November 2005. December 27, 2018