Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

software testing

What is context-driven testing?

Abdul Monum
Context Driven Testing

Context-driven testing is a software testing methodology that emphasizes testing the application in the context of its use in the real world. In a context-driven mindset, the focus is not on using the best software testing practices but rather on using different testing practices appropriate to the context in which the application will be used. This testing mindset is advocated by Cem Kaner, James Bach, and Bret Pettichord in their book, Lessons Learned in Software Testing: A Context-Driven Approach. Following are the famous seven principles of the context-driven school directly taken from the book:

  • The value of any practice depends on its context.
  • There are good practices in context, but there are no best practices.
  • People working together are the most important part of any project’s context.
  • Projects unfold over time in ways that are often unpredictable.
  • The product is a solution. If the problem isn’t solved, the product doesn’t work.
  • Good software testing is a challenging intellectual process.
  • Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

Example

Let’s take the example of the following two projects:

  1. Imagine you have to develop a control software system for a metro train in a big city. The correct functioning of the system is highly mathematical and must follow the regulatory guidelines. The engineering staff of the train are major stakeholders in this project. Caution, security, and precision are all metrics that the system must be evaluated for before it’s shipped. The system will be used for a very long time. Any malfunctioning of the software can result in a lawsuit or grave concerns to the security of the people on the train.
  2. Another project is about developing a social media application where people post their daily pictures and connect with their friends. Here, the correct behavior of the system is the innovative attraction your application has that draws the users of, say, Facebook, Snapchat, and Instagram to move towards your application. There are no safety or regulatory requirements, nor is there any engineering staff involved. The market of your application and your revenue goals are what’s at stake.
  • As you can imagine, the testing practices for the first project will fail in the second.

  • The testing practices in the second project are negligent and do not scale to the first project.

That’s what context-driven testing is all about. The context of the software matters the most. Therefore, the tests must be project-appropriate and come from the perspective of the clients and the people that are ultimately going to use the software.

RELATED TAGS

software testing

CONTRIBUTOR

Abdul Monum
Copyright ©2022 Educative, Inc. All rights reserved
RELATED COURSES

View all Courses

Keep Exploring