How Test Mocking can Enhance TDD

Mocking is the creation of an object that mimics another and sets expectations concerning its behavior. In testing, mocking replicates the behavior of a service, object, or process. There are a number of benefits that result from replacing an object with a mock for testing purposes. There’s confusion regarding the differences in a mock, a … Continued

Worst of the Worst—The Biggest Software Fails in Recent Memory

Friends don’t let friends release bad software. Most teams know too well the sting of learning from their own mistakes, but it’s much less painful to learn lessons from the experience of others. With that in mind, this article reviews a number of very public catastrophic software failures in recent years. No, we’re not trying … Continued

A QA Perspective on Measuring and Managing Technical Debt

Here’s a typical scenario in many development teams all around the world: The sprint is nearing completion, and the profile on that burndown chart remains at the same crazy angle. As it was in the last sprint, and the sprint before that. Same as it ever was. (Is that Talking Heads song stuck in your … Continued

Types of Software Testing

Software testing, also known as application testing, has a somewhat ambiguous definition and is a broad process composed of several interlinked types of software testing. Its primary objective is to measure software health and completeness in regard to core requirements. This is achieved by detecting differences between the given input and expected output. Essentially, think … Continued

The Impact of Cognitive Bias on Software Testing

In many aspects of personal, public, and business life, pursuing objectivity or fairness often means finding a common ground. The ideal is to find a state of neutrality in which everyone can work and communicate in an environment that is free of bias. The problem is that this is simply unachievable because human and organizational … Continued

What is End-to-end Testing?

When developing any complex application, it’s essential to know that the system functions properly as a whole. Unit testing and integration testing can tell you that every part of the system works correctly, but that doesn’t guarantee that they all the parts fit together properly. Imagine if you are creating something mechanical such as a … Continued

User Acceptance Testing

In the history of software, there have been many classic examples of well-executed code that is so poorly designed for users that it ended up alienating the user base or became a complete failure. Some of you may remember “Clippy”, Microsoft’s infamously bad Office Assistant who was almost universally hated by users. This was an … Continued

5 Ways to Increase Customer Retention

Depending on who you ask, retaining customers is either valuable — or really, really valuable. By some estimates, a repeat customer is the equivalent of striking gold. One study found that increasing customer retention rates by 5% increased a business’s profits by 25% to 95%. On the other hand, the cost of acquiring a new … Continued

Robot Framework: A Closer Look at Keyword-driven Testing Approach

A Brief History of Keyword-Driven Automation Testing Keyword-driven automation testing paradoxically figured among the original solutions to the problem of scripted automation testing tools. Robot Framework led the field of open source packages. The solution of the time was to reduce scripting, not to eliminate it altogether. Perhaps surprisingly, these scripted testing tools required automation … Continued