TDD is a software development approach in which a test is written before writing the code. When TDD is properly set up, it can bring numerous advantages and become a cost-saver, providing true value to the business. When TDD is not properly set up or without understanding how it should be used, it can be a waste of time and money. Quality comes not from inspection but from the improvement of the production process
Acceptance test-driven development is a whole-delivery cycle method that allows the entire team to define system behavior in specific terms before coding begins. These conversations align the expectations of the testers, developers, and product owners, forcing any silly arguments to happen before someone has to create the code twice. Here are some great beginner exercises for teaching ATDD.
“Shift left” is one of the latest buzz terms in software testing. Movements like agile and DevOps recommend that testers shift left, but what does that mean, exactly? Here's how one tester became a believer in the shift-left movement; how he got his team's developers, analysts, designers, and managers on board; and how his entire organization has benefited from the shift.
From his decade of teaching thousands of professional software developers how to be effective with test-driven development, David Bernstein has learned that there are three key ingredients for mastering TDD: understanding what it really is, making code reliably testable, and getting hands-on experience. Let’s look at each of these factors to see what it takes to use TDD effectively on your projects.
Because enterprise applications are highly interconnected, development in stages puts a strain on the implementation and execution of automated testing. Service virtualization can be introduced to validate work in progress while reducing the dependencies on components and third-party technologies still under development.
In this interview, Alex Martins, the CTO of continuous quality at CA Technologies, explains how continuous testing, continuous integration, and open source testing tools can help modern software teams keep up with the speed and demands of agile.
In this interview, Hans Buwalda discusses his STAREAST presentations. These include "When Testers Feel Left Out in the Cold" and "The Challenges of BIG Testing: Automation, Virtualization, Outsourcing, and More." He also covers his experience at the conference.
In this interview, Dan North covers his presentations at STAREAST, including Deliberate Testing in an Agile World and Deliberate Discovery. He also discusses his experience at the conference and his multiple interactions with other testers.
In this interview, Richard Hundhausen talks about real-world software testing, his experience at STAREAST, the benefits of Scrum and agile, and how we can end the developer/tester dichotomy by bringing these two teams together.
To emulate production-like conditions that cannot be tested on the unit level, many integration and functional tests need a realistic environment. However, performing these tests in a production-like environment is fraught with problems—test data management issues, tests that are difficult to execute repeatedly, and network traffic that causes long-running test execution times. Instead of having to deal with these problems and others, Irene Dhong employs Docker to simulate dependencies. Learn how you can take advantage of Dockerized dependencies for quick test writing, reusability of common development code, and the ability to test early and often on a very low functional level. Irene describes how her development team is using Docker to implement more effective TDD and unit testing environments because Docker utilizes similar infrastructure both on the development and DevOps side. Join in to get Dockerized, too.
As IT systems increase in both scale and complexity, delivering quality applications becomes more challenging. In addition to creating and executing test scenarios, testers need to create and maintain the test data that enables test execution. Test data management (TDM) creates and...
Jatinder Singh, Harvard Pilgrim Health Care, and Shaheer Mohammed, Harvard Pilgrim Health Care
In chess, the word blunder means a very bad move by someone who should know better. Even though functional test automation has been around for a long time, people still make some very bad moves and serious blunders. The most common misconception in automation is thinking that manual...
We can all learn valuable lessons from game development where, in addition to functional performance, overall experiential quality—user experience (UX)—is of critical importance. Blockbuster game development presents particular challenges with regard to scale, rapid iteration, and fuzzy...
Tulay Tetiker McNally, BioWare Electronic Arts and Alex Lucas, BioWare Electronic Arts