A growing company was tasked to develop a test automation program from scratch, change its coding practices, and build a continuous testing toolchain. Martin Ivison details how they did it, including realizing that implementing the traditional test pyramid wasn't going to work—it would have to be turned upside down. They found out that small is beautiful, cheap is good, and cultural change matters.
If you want to trigger long-running, end-to-end automated tests, you must integrate the test execution system with the continuous integration system. But this job falls in a fuzzy area that meets at the nexus of feature development, test automation development, quality assurance, and build and release engineering. Here's how to decide who should be responsible for the setup.
It’s important that test authors keep in mind the inherent authority their tests possess. After all, an application’s tests are sometimes the first lines of code a new developer will read when acclimating to a new codebase. Tests aren't the only kind of documentation you need, but automated tests in a CI environment can provide a lot of useful information.
Part of the path to DevOps requires adoption of agile methodologies. What does it mean for testing when you switch from the traditional waterfall model, with a few long release cycles per year, to the agile model, with changes occurring every two weeks? Here are five key factors to achieve the agile software testing necessary in DevOps.
DevOps is more than adopting the right set of tools; it's a cultural shift that incorporates testing at each stage of the agile project lifecycle. Continuous testing is key to unlocking this culture change because it weaves testing activities into every part of the software design, development, and deployment processes, which helps everyone involved communicate more, collaborate better, and innovate faster.
Many teams have existing automated test suites that are not included in a continuous integration program. Maybe the tests take too long to execute, or they are not reliable enough to give accurate results. Here’s how to assess your test suites in terms of value added and time to execute, along with five proven strategies to optimize those suites for CI.
DevSecOps is a growing movement to incorporate security into DevOps practices in order to ensure flaws and weaknesses are exposed early on through monitoring, assessment, and analysis, so remediation can be implemented far earlier than traditional efforts. By failing fast with security testing, organizations reduce risk of a security incident and decrease the cost of rework.
Test coverage is a strategy to help us spend scarce testing time on the right priorities. When things were tested last, how much automation coverage we have, how often the customers use the feature, and how critical the feature is to application are all factors to consider. Here are some ideas for keeping quality high when you're transitioning to continuous delivery.
Before you can achieve continuous delivery, you need to first start implementing continuous integration. Some say CI is just for developers, but testers also play their own important roles. This article describes solutions that will help you add value to the development lifecycle—whether you work in an agile, DevOps, or traditional context.
Testing professionals who are learning about agile often want to know how they can provide traceability among automated tests, features, and bugs and report on their testing progress. Here, Lisa Crispin gives an example of how her previous team worked together to integrate testing with coding and helped everyone see testing progress at a glance.