ABSTRACT
In the simplest form, software testing consists of creating test cases from a defined input space, executing those test cases for the system-under-test (SUT), and evaluating the outputs with a mechanism for determining success or failure (i.e. oracle). Bodies of research focus on the selection, execution, evaluation, and even testing of software tests. Many tools and frameworks aim to apply the research in ways that improve test development. However, the options available for testing user interfaces have technical limitations that negatively impact practical application in industry. As such, this industry abstract explores the journey between industry-standard frameworks for testing user interfaces, the negative impacts of their limitations, and a proposed solution that attempts to avoid those issues.
- The effectiveness of client-side JavaScript Testing
Recommendations
Mutode: generic JavaScript and Node.js mutation testing tool
ISSTA 2018: Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and AnalysisMutation testing is a technique in which faults (mutants) are injected into a program or application to assess its test suite effectiveness. It works by inserting mutants and running the application’s test suite to identify if the mutants are detected (...
KJS: a complete formal semantics of JavaScript
PLDI '15: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and ImplementationThis paper presents KJS, the most complete and throughly tested formal semantics of JavaScript to date. Being executable, KJS has been tested against the ECMAScript 5.1 conformance test suite, and passes all 2,782 core language tests. Among the ...
On Testing Effectiveness of Metamorphic Relations: A Case Study
SSIRI '11: Proceedings of the 2011 Fifth International Conference on Secure Software Integration and Reliability ImprovementOne fundamental challenge for software testing is the oracle problem, which means that either there does not exist a mechanism (called oracle) to verify the test output given any possible program input, or it is very expensive, if not impossible, to ...
Comments