Home / Companies / Sauce Labs / Blog / July 2016

July 2016 Summaries

6 posts from Sauce Labs

Filter
Month: Year:
Post Summaries Back to Blog
In order to achieve End-to-End (E-E) test stability, it's essential to consider environment-agnostic testing and test data management. Environment-agnostic tests should be independent units that run without code changes or dependencies on other environments, using tokenized configuration information. Tools like xmlpreprocess.exe can help update app.config files with environment-specific values. For web applications, separate config files per environment can also be used to maintain a clean separation of concerns between test config and code. Test data management can be achieved through CRUD flow, generating and cleaning up data as part of the test setup, or using service virtualization tools like Wiremock or Mountebank to create virtual services that mimic third-party dependencies. By implementing these strategies, developers can improve E-E test stability and maintainability.
Jul 28, 2016 1,041 words in the original blog post.
JUnit Testing: Getting Started and Getting the Most Out of It` JUnit is widely used for unit testing in Java applications, being the most commonly included external library on Java projects on GitHub. However, many projects may not be getting the most out of it, as they lack knowledge on how to use JUnit effectively. To start using JUnit, one needs to install it and add a dependency to the project. After installation, writing tests involves creating a class, writing test methods, and running them from the console or through an IDE like Eclipse. To maximize testing performance and flexibility, users can consider parallel testing, which speeds up testing, and explore other tips such as using integration and acceptance tests with JUnit and tweaking the Eclipse environment to make tests run faster. Additionally, best practices for testing can be found in guides from Sauce Labs and articles by Chris Tozzi, providing valuable insights into test automation frameworks.
Jul 26, 2016 491 words in the original blog post.
PhantomJS is a lightweight headless test runner that allows developers to access the browser's DOM API for command-line-based testing. It is suitable for local development, version control pre-commit hooks testing, and as part of continuous integration pipeline testing. PhantomJS will not replace Selenium functional testing, but it provides fast feedback for deployed web applications without spinning up a browser. A well-defined cloud testing strategy can reduce web application bugs in production by catching issues locally before deploying to staging and production environments. Configuration management tools like Chef, Vagrant, and VirtualBox make it easy to spin up a web application locally for testing changes before creating a pull request. Test Kitchen is an integration test harness tool that allows running code on virtualization technologies and various cloud providers, making testing easy for developers. A cloud testing strategy typically includes static code analysis, unit tests, server spec tests, and PhantomJS tests executed at each checkpoint in the development process.
Jul 19, 2016 873 words in the original blog post.
The Agile development methodology has its roots in 2001, where it was first described at a small conference. It emphasizes flexibility, adaptability, and collaboration between teams and individuals. The Agile manifesto values individual interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. There are different agile methodologies such as DSDM, Scrum, and XP that can be implemented to achieve agility. A feature team is a cross-functional team that completes many end-to-end customer features in a short iteration cycle, allowing for continuous delivery and adaptation to changing requirements. Short iterations, test automation, and regression testing are fundamental tools for agile development, which enable software to work quickly and continuously integrate changes. Agile development is particularly suitable for mobile app development due to its need for frequent releases, bug removal, and feature addition to keep users engaged.
Jul 19, 2016 1,631 words in the original blog post.
The history of quality assurance and software testing dates back to preindustrial societies, where ensuring quality wasn't a priority due to the absence of free market competition and strong governments. In the 19th century, with the advent of modern capitalism, assuring quality became important for attracting buyers. As software development evolved, programmers had to fulfill multiple goals, including debugging, configuration testing, and user-friendliness. Initially, small teams of programmers worked on ad hoc methods for finding bugs in their code. With the introduction of cross-platform programming languages like C and the PC market in the 1980s, configuration testing became more important. The increasing demand for frequent software releases and the growth of open source projects led to a need for better quality assurance and testing processes. Today, developers face new pressures with the advent of Continuous Delivery, mobile computing, and IoT devices, requiring sophisticated innovations like cloud-based testing and parallel testing to handle these changes.
Jul 12, 2016 1,077 words in the original blog post.
There is no single IoT, but rather many different kinds of IoT devices, environments and apps. This diversity affects the testing landscape, which will be more diverse than traditional testing due to factors like lack of constant connectivity, power issues, and limited computing power. To test for these variables, tools like Vaurien can simulate unreliable infrastructure, while Selenium provides a way to control networking variables. Real-device testing will still have its role but may not be as reliable as simulated device testing. As IoT becomes more mainstream, software specifically designed for IoT testing is expected to emerge, likely by 2020 when the number of IoT devices hits 50 billion.
Jul 07, 2016 675 words in the original blog post.