Applying Modified Code EntityBased Regression Test Selection for Manual EndtoEnd Testing of Commercial Web Applications Regression testing plays an important role in maintaining the quality of web applications as they are modified. To reduce the cost of this testing, researchers have proposed a variety of regression test selection (RTS) techniques. The challenges in applying RTS include the lack of tool implementations and the lack of many application requirements such as automated testing and sufficient documentation. This paper presents the challenges and solutions of applying a simple and safe RTS approach to manual E2E testing of legacy web applications, and presents a case study where it is applied to two development projects. Case study results show that this approach can reduce testing more precisely than a test reduction approach based on developer experience with sufficiently low deployment and labor costs.

Prioritizing versions for performance regression testing: The Pharo case Abstract   Context  Software performance may suffer regressions caused by source code changes. Measuring performance at each new software version is useful for early detection of performance regressions. However, systematically running benchmarks is often impractical (e.g., long running execution, prioritizing functional correctness over nonfunctional).    Objective  In this article, we propose Horizontal Profiling, a sampling technique to predict when a new revision may cause a regression by analyzing the source code and using runtime information of a previous version. The goal of Horizontal Profiling is to reduce the performance testing overhead by benchmarking just software versions that contain costly source code changes.    Method  We present an evaluation in which we apply Horizontal Profiling to identify performance regressions of 17 software projects written in the Pharo programming language, totaling 1,288 software versions.    Results  Horizontal Profiling detects more than 80% of the regressions by benchmarking less than 20% of the versions. In addition, our experiments show that Horizontal Profiling has better precision and executes the benchmarks in less versions that the state of the art tools, under our benchmarks.    Conclusions  We conclude that by adequately characterizing the runtime information of a previous version, it is possible to determine if a new version is likely to introduce a performance regression or not. As a consequence, a significant fraction of the performance regressions are identified by benchmarking only a small fraction of the software versions.