You have inherited some legacy C++ code: it is valuable, but it doesn’t have tests, and it wasn’t designed to be testable, so you need to start refactoring. But you can’t refactor safely until the code has tests, and you can’t add tests without refactoring! How can you ever break out of this loop?
Software Testing Videos and Tutorials: Load Testing, Unit Testing, Functional Testing
Writing and maintaining a suite of acceptance tests that can give you a high level of confidence in the behavior and configuration of your system is a complex task. This presentation describes approaches to acceptance testing that allow teams to work quickly and effectively; build excellent functional coverage for complex enterprise-scale systems; manage and maintain those tests in the face of change, and of evolution in both the codebase and the understanding of the business problem.
Every test suite has them: a few tests that usually pass but sometimes mysteriously fail when run on the same code. Since they can’t be reliably replicated, they can be difficult to fix. The good news for software testing is that there is a set of usual suspects that cause these issues: test order, async code, time, sorting and randomness.
When you inherit difficult code it can take weeks to become productive. Having the right tools for software testing and refactoring job and knowing how to use them makes a huge difference. Emily Bache explains this in a series of three posts that deal with approvals and mutation testing; the Lift-Up Conditional refactoring technique; replacing conditional with polymorphism.
We know that successful Agile teams live and breathe by the “Whole Team Quality” principle. But what does it actually mean in practice – and what does it definitely not mean?
Learn in this presentation how a Chicago finance company avoided a radical shift and took a more evolutionary approach to its DevOps transformation. Kevin Harriss shares the lessons that this organization learned along the way to hopefully ease your own DevOps transformation.
Teams should take security seriously with today’s online threats and follow secure coding and security testing practices. They should use web and native application scanning tools both statically and dynamically where-ever possible and required.