The absence of versioned infrastructure as code (IaC) and automated provisioning undermines one of the most important benefits of DevOps: the ability to version, manage, and control the servers and networking required to run software applications in development, testing, and production. Automating infrastructure setup and continuous monitoring helps keep system environments stable and less susceptible to outages.
Suppose we’re looking at a system rewrite where the stakeholders have none of the original engineering documentation. (This isn't surprising; documentation becomes obsolete—or even misleading—as the system changes, and corresponding docs don't get updated.) What can we do? Here are some tactics to use—and risks to anticipate—when testing a system rewrite.
Effective source code management provides a basis for every essential development best practice, including continuous integration and continuous delivery. The key is realizing just how much valuable metadata is being created in your source code management system and establishing the tools and procedures to make this information available.
For years, developers have struggled with using individual lifecycle management tools, but no longer! Joe Farah walks you through a history and benefits of an integration of ALM tools that every team should seriously consider.
To achieve the most effective test automation, you need to go beyond automated test case creation and implement automated environment setup. In tracking the testing time spent over several projects, the Clustering group Amit Mathur worked with found that more staff time was being spent on setup than on actual testing. He discusses and demonstrates the Environment Configuration System (ECS) his group developed to automatically set up test environments and trigger automated test execution. Find out how ECS has dramatically improved the ability to automate many more manual tests. ECS employs a scripting language (Perl) and libraries for environment setup and test cases. Based on interface specifications and dependency rules, ECS bundles environment setups and test cases for complex test scenarios. Learn how you can adapt the ECS approach for your applications and environment.
These days, we hear a lot about unit testing, testing for programmers, test-first programming, and the like. Design techniques for such tests and for improving system testing are often called white box test designs. Join Rex Black as he explains the basics of white box testing and compares
white box with other types of testing. Find out how the metaphor of "boxes" can inform-and confuse-us. Rex discusses the basis path tests, including cyclomatic number as a measure of complexity and a way to determine the number of tests necessary to cover all paths. He walks
If your development organization is developing Web services because you want independence across languages and platforms, you'll need to undertake serious interoperability testing. John Scarborough explains the problem by creating a matrix of interoperability issues and explores possible testing strategies you might use. He also takes a sober look at what we may not be able to tackle with existing testing technology. Find out about SOAP monitoring and other approaches to interoperability testing. Take away a new understanding of how the desire for interoperability can open up opportunities for hackers and the likelihood of security breaches.
The matrix for interoperability testing of Web services
Web services testing experiences from both small and large companies
The need for designing interoperability testing into the software from the beginning
This presentation covers conditions and expressions; truth tables; normal form patterns; modified condition/decision coverage; constructing an MC/DC test set; tools for checking MC/DC coverage; unique cause coverage; basic unique cause design; and logic coverage references.