Software Testing Articles, Blog Posts, Books, Podcasts and Quotes
JUnit 5 is the next generation of JUnit. The goal of this upcoming version is to create an up-to-date foundation for developer-side testing on the JVM. The evolution includes focusing on Java 8 and above, as well as enabling many different styles of testing. In his article, Nicolai Parlog explains how you should write tests with JUnit 5.
When you perform unit testing, there are many situations where you don’t have the full code or the right context that is needed to execute it. It might be that part of the code is not written yet or that you interact with an external system that is difficult to access or you don’t want to impact with unit tests. In these cases, you need to create a test double, an object that behaves like its production equivalent. In this article, Michał Lipski describes three types of test doubles – fake, stub and mock – and gives you examples when to use them in your unit testing.
A microservices architecture is a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In her article “Automated Testing Strategy for a Microservices Architecture”, Emily Bache explains how you could transform your test automation approach when you switch from a monolith architecture to a microservices architecture.
Arquillian is an open source testing platform for the JVM that enables to easily create automated integration, functional and acceptance tests for Java middleware. In this article, Alex Soto presents three options to use Arquillian Cube to manager Docker containers from Arquillian.
Shift Left Testing is the name applied to the Agile concept to shift the software testing activities from the end of the software development life cycle to its beginning, or on the left of life cycle diagrams. In his article “Four Types of Shift Left Testing”, Donald Firesmith of the Software Engineering Institute discusses the importance of shift left testing and defines four different approaches to implement shift left testing.
Software testing is an important and tricky topic for mobile app development. With multiple operating systems versions and devices manufacturers, it is very time consuming to cover all possible combinations. This is why it is recommended to automate testing with a parallel perspective rather than performing tests sequentially. In this article, Tarik Demirović explains how to implement parallel mobile testing for Android devices with Appium.
Jasmine is an open source behavior-driven development (BDD) framework for testing JavaScript code. Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript (JS) and other languages. In his article, Gerard Sans offers a presentation of Jasmine, discusses the unit testing of AngularJS and shares some Unit Testing recipes for Angular 2: Components, Services, Http and MockBackend, Directives, Pipes, Routes, Observables and EventEmitter.