Software Testing Articles: Load Testing, Unit Testing, Functional Testing, Performance Testing, Agile Testing, DevOps
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.
Code coverage is a software testing metric that measures the degree to which the source code of a program is tested by a particular test suite. This metrics is often difficult to understand and interpret for software development teams. In this article, Eran Sher proposes a better approach to code coverage that is more adapted to the current situation of continuous delivery and service architecture.