Welcome!

Microservices Expo Authors: Pat Romanski, Elizabeth White, Liz McMillan, Yeshim Deniz, Zakia Bouachraoui

Related Topics: Microsoft Cloud, Java IoT, Microservices Expo, Silverlight, Agile Computing, Apache

Microsoft Cloud: Article

Making a Case for a Test Case

You need to balance the limitations in terms of resources and time, with the need to ship the highest quality product possible

For software testers to create a detailed test case during the QA process can be tricky: sometimes it's not an option; sometimes it's wasted effort. Here are ways to help make that decision.

Part of the skill set required to be a good tester involves the ability to assess a software project and decide when it's worth putting in the effort to create really detailed test cases. Sometimes the software will lend itself to unstructured testing, sometimes the development methodology will dictate a specific approach, and sometimes every possible facet will need to be covered. If you plotted projects on a graph you would get a bell curve because most of them fall somewhere in between the casual and the comprehensive.

How Do You Decide?
There are various factors that are going to weigh on any decision. Some of them leave no room for ambiguity, for example:

  • There are legal compliance requirements or contractual obligations that require documentary evidence.
  • Any bugs in the software would be potentially disastrous, such as with air traffic control or medical software.

These are special cases and they make the decision to write detailed test cases easy, but most projects are not so straightforward.

Consider Your Testers and Audience
How much experience does your test team have? Novice testers may well need the guidance provided by a set of clear and concise test cases. If they are more experienced, then you can trust them to do a thorough job without so much direction.

The intended audience for the software is also an important factor. If this is business software aimed at specific professionals, and you can envisage clear use cases, then a well-organized test plan with detailed test cases will help the QA department. If, on the other hand, the software is aimed at the mass market and it's tougher to predict exactly how people will interact with it, some less formal, agile exploratory testing could turn up important bugs that a more formal approach would miss.

It's also worth bearing in mind that rigorous, detailed test cases, with no room for intellectual input or creative thought, can be dispiriting and even demotivating for testers. Talented testers welcome the opportunity to flex their brains and they can use their experience and their intuition to uncover flaws in the software. If the approach is overly strict and you fail to leverage your tester's skills, bugs will end up slipping through into the final product.

Match the Development Methodology
Modern software development encompasses a number of different approaches and no two teams or projects are the same. If you start out with a vague set of requirements and the developers take an agile approach, then you may not even have the necessary prerequisites to write detailed test cases.

It's also not uncommon for projects to change direction frequently during development and these changes could render your test cases obsolete within a few weeks of them being created. It may be necessary to talk directly to designers or the customers generating the requirements in order to keep abreast of where the software is going and how best to test it, but it's not always possible to get answers to all of your questions.

At the other end of the spectrum a traditional waterfall approach to development, where everything is agreed and signed off before the project begins, will enable you to create test cases with confidence.

It's About Efficiency
Ultimately it's about finding the most efficient approach. You need to balance the limitations in terms of resources and time, with the need to ship the highest quality product possible. Longevity has to factor in - if the project is only scheduled for three months, you won't get much value from a detailed set of test cases, but an ongoing enterprise platform that will be in use for years definitely merits an upfront investment in test cases.

Think about what will offer the best return on investment. Writing test cases is a time-consuming task and it requires the attentions of your most experienced testers. Before you pull the trigger on a detailed test plan, take the time to consider whether it's the most efficient use of their time.

Sometimes it will increase your effectiveness and have a big positive impact on the software, sometimes it won't. The trick is to find the right balance.

More Stories By Vu Lam

Vu Lam is founder and CEO of QASymphony, developers of defect capture tools that track user interactions with applications. He was previously with First Consulting Group and was an early pioneer in Vietnam’s offshore IT services industry since 1995. He holds an MS degree in electrical engineering from Purdue University. You may reach him at [email protected]

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Microservices Articles
Lori MacVittie is a subject matter expert on emerging technology responsible for outbound evangelism across F5's entire product suite. MacVittie has extensive development and technical architecture experience in both high-tech and enterprise organizations, in addition to network and systems administration expertise. Prior to joining F5, MacVittie was an award-winning technology editor at Network Computing Magazine where she evaluated and tested application-focused technologies including app secu...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addresse...
The now mainstream platform changes stemming from the first Internet boom brought many changes but didn’t really change the basic relationship between servers and the applications running on them. In fact, that was sort of the point. In his session at 18th Cloud Expo, Gordon Haff, senior cloud strategy marketing and evangelism manager at Red Hat, will discuss how today’s workloads require a new model and a new platform for development and execution. The platform must handle a wide range of rec...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true ...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.