Automated software evaluation

Abstract

Automated testing, if used correctly, can bring a great cost reduction in the development and testing of software products. Currently, most managers consider automated testing only at the functional or acceptance level; automated testing has its roots in that form of testing (e.g. capture and replay, or record and run). However, today it is also increasingly used in source code testing.

Automated testing, both functional and unit testing, is divided into two phases: strategy and planning and prototyping and implementation. In the first phase, the need and possibility of automatic testing are investigated. In the second phase, once the feasibility has been approved, a prototype of the automatic testing system is created and integrated into the development process.

The ProS Center offers the sector advice in the definition of test plans, expert assistance in the choice of automatic testing tools, design of both automated and manual test cases, advice in test automation including the configuration and implementation of automatic test case generation systems, static and dynamic testing of source code, testing with evolutionary methods, evaluation and improvement of software development and testing processes following standards such as TMAP, CMMI, IEC, etc. In addition, as a research center, it provides empirical validation of testing techniques and tools.

To meet the challenges of dynamic, autonomous and self-configurable applications, the ProS Center applies search-based testing tools. This approach, complemented by evolutionary methods rooted in biological evolution and its genetic-molecular basis, has the fundamental advantage of supporting the search for optimal solutions to optimization problems. These problems are characterized by large search spaces for which the time required for their full exploration is excessive and makes it difficult to guarantee the validity of the solutions found. For example, solutions such as fault detection in software applications such as databases, operating systems, web applications and servers, distributed systems, supercomputing.

The ProS Center’s mission is to improve software production by providing new model-driven methods and techniques to develop quality software in a productive and systematic way. Its vision is to achieve the highest level of research excellence in Model Driven Industrial Software Development and to position ProS as a reference center with high impact on economic and social development both locally, nationally and internationally.

The researchers of the ProS Center have 20 years of experience in research lines related to Software Engineering and Formal Methods. For the last 8 years, with the current structure, it has oriented its research efforts towards the study and creation of modeling languages and tools for software engineering. From a formal and applied perspective, it has developed a declarative object-oriented specification approach called OASIS, an associated methodological framework (OO-METHOD), an extension for the modeling and development of Web applications (OOWS), a series of industrial CASE tools (OlivaNova, The Programming Machine) and prototypes of development environments covering the phases of the software production process with automatic generation of applications following a model-driven approach.

Scientific officer

Vos Tanja Ernestina

Stakeholders

Applications

  • Assistance in the definition of test plans
  • Expert assistance in the choice of automated testing tools
  • Design of both automated and manual test cases
  • Advice on test automation including configuration and implementation of automatic test case generation systems, static and dynamic testing of source code, testing with evolutionary methods, evaluation and improvement of software development and testing processes following standards such as TMAP, CMMI, IEC, etc.

Technical advantages

Support for the search of optimal solutions in optimization problems. These problems are characterized by large search spaces for which the time required for their full exploration is excessive and make it difficult to guarantee the validity of the solutions found. For example, solutions such as fault detection in software applications such as databases, operating systems, web applications and servers, distributed systems, supercomputing.