Software Testing Articles, Blog Posts, Books, Podcasts and Quotes
Adobe® Shadow is a new inspection and preview tool, currently in a preview release, that allows front-end web developers and designers to work faster and more efficiently by streamlining the preview process, making it easier to customize websites for mobile devices.
Testing is often seen as a surrogate for quality and if you ask a developer what he is doing about quality, “testing” is often the answer. But testing is not about quality. Quality has to be built in, not bolted on, and as such, quality is a developer task. Period. This brings us to fatal flaw number 1: Testers have become a crutch for developers. The less we make them think about testing and the easier we make testing, the less testing they will do.[…] When testing becomes a service that enables developers to not think about it, then they will not think about it. Testing should involve some pain. It should involve some concern on the part of developers. To the extent that we have made testing too easy, we have made developers too lazy. The fact that testing is a separate organization at Google exacerbates this problem. Quality is not only someone else’s problem; it is another organization’s problem. Like my lawn service, the responsible party is easy to identify and easy to blame when something goes wrong. The second fatal flaw is also related to developers and testers separated by organizational boundaries. Testers identify with their role and not their product. Whenever the focus is not on the product, the product suffers. After all, the ultimate purpose of software development is to build a product, not to code a product, not to test a product, not to document a product. Every role an engineer performs is in […]
This article shares thoughts, experiences, and some of the critical lessons learned while implementing software test automation on a recent Agile project. Although it took them quite some time to reach their current status, it’s been well worth the investment and the efforts are paying off in big way. The team is now able to build, integrate, test and deploy their application software with production-like quality in a production-like environment every single day.
Evan Farrer to test the frequently cited claim by proponents of dynamically typed programming languages that static typing was not needed for detecting bugs in programs. In his blog post, he explains why unit testing isn’t enough and you need static typing too.
This article shows how concepts and axioms can be expressed in standard C++ 2011, and explore Axiom-based testing is a technique for testing generic code in a generic way, based on algebraic specification. This article explores how you can specify graph transformation-based rules for a classical problem of transforming from UML sequence diagrams to state machines. The specification of the transformation rules is based on the concrete syntax of sequence diagrams and state machines. It introduces tailored transformation support for sequence diagrams and a novel graphical operator to match and transform combined fragments.
Program understanding is a major obstacle during program maintenance. In an object-oriented language, understanding an operation requires understanding its type and its effect on the object network. The effect is particularly important for scripting languages where there is neither class structure that restricts the shape of an object nor any other kind of access control. We have designed and implemented JSConTest. JSContest is a tool that enhances JavaScript with simple, type-like contracts and provides a framework for monitoring and guided random testing of programs against these contracts at the same time.
Visual Studio allows you to create automated tests of the user interface (UI) known as coded UI tests. These tests provide functional testing of the UI and validation of UI controls. This article provides test automation guidance that helps you leverage the coded UI features of Visual Studio 2010 to foster a continuous, consistent and standard automation approach. Such an approach allows you to build, deploy and test, taking advantage of Visual Studio Lab Management features, which let automation testers reap the benefits of integrating with the build process for automatic build deployment, executing on VMs and reporting test automation results as part of Microsoft Test Manager (MTM). The article provides also a list of Do’s and Don’ts of UI automation. UI automation can be a tricky business. To help you get the best results, follow the advice, guidance and best practices for writing coded UI tests in the following Do and Don’t lists.