Ways to Generate Quick Test Ideas

As testers, we look at everything with a critical eye. As soon as something comes up for testing, our instinct is to get down to examining it and looking for problem areas. After getting a written test script, a new tester would be tempted to begin executing scripted tests right away.

But stopping to gather our thoughts about possible test ideas first is a smarter approach that leads to better, more unbiased test coverage. However, we don’t always have a lot of time to imagine scenarios and different paths. Luckily, there is always some planning we can do beforehand.

In my article published at Gurock Testrail blog I shared some tips for generating test ideas in a time crunch.

Revisit classic test techniques

Our old, trusted test design techniques like boundary value analysis, equivalence class partitions, decision tables, and state flow diagrams are always a help when thinking about test cases. Although most of them are ingrained in the thought process of a tester and are mostly common sense, giving them a revisit, however informal, may still give us some more test ideas.

For example, creating a quick decision table for the interaction of two or more variables to observe the behavior of the system may reveal some unique combination that we might have missed. Or a quick boundary value analysis for the age field in our we form may show us a special case we might have missed.

Similarly, using state transition diagrams to draw end-to-end flows can help not only the testers, but also the developers in imagining the overall system flow and revealing problem areas.

Look at the history

The history of the project or the system can give us many insights into what we are dealing with, where the common defect clusters are, and the most problematic components.

If you are new to the test team, start by having a look at the defect tracking from past sprints or releases. You can then define and think of more test cases based on past defects and the components that have had the greatest number of defects.

If you’ve been part of the team for a while, you are probably intuitively bound to focus on these areas. But even then, it will help to consciously make an effort to list the most common types of bugs encountered and most problematic areas based on your experience. This will help not only you, but also your new and junior team members. Read full post->

Read More »

4 Tips to Create a Simplified Test Plan for Your Agile Project

Planning is an integral part of initiating any project or activity, including software testing. Although formal test plans may seem outdated and unnecessary to most fast-paced agile teams that prioritize cutting down on documentation, it’s still a good idea to keep a pared-down test plan that can guide the testing effort throughout the project.

In my article published on TestRail blog, I talk about four useful tips to create a simplified test plan for your agile project.

1. Include the basics

A test plan can be as detailed as the team requires, but at the minimum, it must contain the context, timelines, and a brief overview of the testing activities expected to be performed in the project, release, or sprint.

Based on what level of test plan you are creating, begin with a basic heading, like schedule and timelines, testing activities and types of testing expected to be performed, people involved in testing, or any new hires or training required for the project or release.

2. Build off the project plan

Most of the test plan can be derived from the context set by the overall project plan, so give that a thorough read and get the details of the project lifecycle, expected delivery schedule, interaction points with other teams, etc.

Note any specifics that emerge, like shared resources with other teams, sync points for integration tests throughout the project’s lifecycle, or special types of testing needed, like performance, load or security testing.

3. Define a clear scope

Let’s say your project is a mobile application that needs to work on both Android and iOS. It would be beneficial to list all the environments and OS versions that need to be supported. Including them in the test plan ensures you set up the test environments early and allocate testing tasks across all of them. It also ensures that you are not bogged down by repeated testing on numerous test environments at the time of release. What is not defined in the initial test plan can automatically be considered out of scope.

Continue Reading ->

4. Use visual tools like mind maps

A simple Agile Test Plan using a Mind map

Read full article here

Continuous Testing in DevOps

Agile testers need to constantly rethink their processes and tooling in order to move toward faster and more reliable software delivery. The key there is to embrace the continuity. Continuous delivery is necessary for agile development, and that cannot happen without having continuity in testing practices, too.

In my article published on TestRail blog, I discuss the various aspects of Continuous Testing in DevOps-

Continuous testing

Continuous testing can be defined as a methodology focused on continuous quality and improvement. It can use a number of practices and tools to help do that.

Continuous testing encompasses the verification and validation of each piece of the software under development to ensure:

  • Code quality — Are developers creating code of good quality?
  • Application correctness — Are developers creating the correct features?
  • Place in the pipeline — Can the application code flow through the pipeline and across environments and specified tests successfully and easily?
  • A good customer experience — Are users seeing value in the delivered application?

Continuous testing is the way toward continuous delivery. Teams that struggle with continuously delivering on time or with high quality often find the solution to their problems by setting up good continuous testing practices.

Read the full article for some tips to improve your continuous testing framework and help your DevOps succeed, like-
  • Ensure test automation is the best fit
  • Leverage automation benefits in all aspects
  • Select the right tools
  • The Typical Pipeline & what it requires

Continue Reading ->

Agile teams must strive for continuous improvement of their continuous testing strategy. If they’re successful, they can reduce their release times from months or years to weeks or days (or even hours!). By adopting the correct practices and embracing the spirit of continuous learning and improvement, we can help our testers to become champions of agile.

<Image Credits – manufacturingchemist.com>

Read Along- ‘Agile Testing’ Chapter-10

“Business-Facing Tests that Critique the Product”

  • Critiquing or evaluating the product is what business users or tester do when they assess and make judgement about the product.
  • These are the tests performed in Quadrant 3 of our Agile Testing Quadrants
  • It is difficult to automate Business facing tests that critique the product, because such testing relies on human intellect, experience, and insight.
  • You won’t have time to do any Quadrant 3 tests if you haven’t automated tests in Quadrants 1 and 2.
  • Evaluating or critiquing the product is about manipulating the system and trying to recreate the actual experience of end users.

Demonstrations

  • Show customers what you are developing early & often.
  • End-of-iteration demos are important to see what has been delivered and revise priorities
  • Rather than just waiting for end of sprint demos, use any opportunity to demonstrate changes as you go.
  • Choose a frequency of demos that works for your team. Informal demos can be more productive

Scenario Testing – Business users can help define plausible scenarios & workflows that can mimic end user behavior

Soap Opera Testing – Term coined by Hans Buwalsa (2003) can help the team understand business & user needs. Ask “What’s the worst thing that can happen, and how did it happen?”

Exploratory Testing

  • As an investigative tool, it is a critical supplement to the story tests and our automated regression suite.
  • Sophisticated, thoughtful approach to testing without a script, combining learning, test design and test execution

Usability Testing

There are 2 types of usability testing. The first is done up front by user experience folks, using tools such as wire frames to drive programming. These are part of Quadrant 2.

The second type talks about the kind of usability testing that critiques the product. We use tools such as User Personas and our Intuition to help us look at the product with the end user in mind.

API Testing

Instead of just thinking about testing interfaces, we can also look at APIs and consider attacking the problem in other ways and consider tools like simulators & emulators.

Testing Documentation

User manuals & online help need validation just as much as software. Your team may employ specialists like technical writers who create & verify documentation. The entire team is responsible for the quality of documentation.

Read Along- ‘Agile Testing’ Chapter-2

“The Principles for agile testers”

Points to remember and Quotable Quotes

Definition of Agile Tester-

“A professional tester who embraces change, collaborates well with both technical and businesspeople, and understands the concept of using tests to document requirements and drive development.”

  • Skills are important, but attitude counts more
  • An agile tester does not see herself as a quality police officer, protecting her customers from inadequate code.
  • Agile testers don’t limit themselves to solving only testing issues.
  • Creativity, openness to ideas, willingness to take on any task or role, focus on the customer and a constant view of the big picture – are some components of the agile testing mindset.
  • A team that guides itself with agile values and principles will have higher team morale and better velocity than a poorly functioning team of talented individuals.
  • The principles important for agile testers are –
    • Provide continuous feedback
    • Deliver value to customer
    • Enable face-to-face communication
    • Have courage
    • Keep it Simple
    • Practice continuous improvement
    • Respond to change
    • Self-organize
    • Focus on people
    • Enjoy
  • AATD “Agile Attention Deficit Disorder” – Anything not learned quickly might be deemed useless!
  • Automating tests is hard, but it is much easier when you have the whole team working together.
  • Agile development rewards the agile tester’s passion for her work!

I had written an article about differences between Agile and Traditional testing approaches a few years back. Though I had not read this book at the time, I now feel how many of the points were similar and resonate the same even now. You can read my article here – https://testwithnishi.com/2016/10/20/5-ways-agile-testing-is-different-from-traditional-testing/

***Update **About face-to-face communication** during Covid-19 ***

As I am reading this book during this bizarre time of social-distancing, working remotely and entire nations on lockdown, the part about ‘face-to-face’ communication has a new meaning now. As Janet Gregory also pointed out in response to this article, our definition of face-to-face has changed over the last few weeks over the entire world! We are lucky to have technology that helps us continue effective communication within our teams, have conversations, video calls, screen shares, continue learning over webinars and continue working, feeling useful and being productive.

Hoping things change soon and we can go back to having fun, productive discussions with our team mates over coffee. Until then — Happy social distancing!

*************

Speaking at the DevOps & Agile Testing Summit – 8Nov’19, Bangalore

I was invited to speak at the DevOps and Agile testing Summit organised and conducted by 1.21GWs on 8th Nov 2019 at Bangalore. It was a great event which brought together many keen minds as delegates and many inspiring speakers. https://1point21gws.com/devops/bangalore/

My talk was on “The Building Blocks of a Robust Test Automation Strategy”. As we know testing teams are faced with a number of questions, decisions and challenges throughout their test automation journey. But there is no single solution for their varied problems! In this talk I outlined a number of strategies that agile teams can follow– be it their selection of what to automate and how much, what approaches to follow, whom to involve, and when to schedule these tasks so that the releases are of best quality.

I am grateful that my talk was so well received and led to great discussions later with many participants. I enjoyed the day and am always glad to be invited by the 1.21GWs team.

A peek into the event – pictures from my session

@Sahi Pro was also a knowledge partner at the event and delegates also got a peek into Sahi Pro via video and brochure handouts.

Looking forward to many more successful events! 🙂

Components of a Defect Management Software

 Since software developers and testers work together in the Agile and DevOps environments, it gets challenging to cope up with the increasing competition. Development teams work in collaboration with various stakeholders to make the most of the testing efforts. Defects in software applications are a norm, the sooner you realize that better it is. It is impossible to have a 100% defect/error-free software application, but experts work to make the most of their efforts. The current need for faster delivery and quality products calls for robust software testing solutions that can meet customer expectations.

A defect management system is a defect repository where all the defects appearing in a system are identified, recorded and assigned for rectification. This system includes defect management software and defect management tools to achieve projects efficiently. 

How Does Defect Management Work?

A defect management system works in a systematic manner, and records all the defects in the system without duplicating defects, and maintaining a log for future use too. There are different steps involved in the defect management that are explained below–

Read More »

Using Mind Maps for Agile Test Planning

Mind maps are a creative way of gathering ideas around a central theme and categorizing them in concrete branches. Mind maps can be useful for both personal and professional life as an organization and visualization technique. They’re descriptive, easy and even fun.

In my latest post for Gurock blog, I showcase the usage of mind maps as a technique for test planning and test design. This tool’s capabilities make your documentation leaner and ideas more visual, which benefits the whole agile team.
https://blog.gurock.com/agile-mind-map/

Be it test planning in an agile team which needs entire team’s insights and collaboration, or categorization of product features, test areas and backlog, Mindmaps can be used for all aspects and phases of the project.

Testers can generate their test ideas and have them categorized in a mind map around the central theme of the feature. The visual nature of a mind map helps them find more scenarios, see which parts are more heavily tested, and focus on main areas or branches. Once done, they can have other stakeholders take a look at it and get their opinions. This fosters brainstorming together and gathers the maximum number of ideas from the entire team.

Find useful tips to create your own mindmaps, as well as some samples for your reference in agile test designing as well as test planning. Read the complete article here ->
https://blog.gurock.com/agile-mind-map/

Share your thoughts!

My interview with Thomas Cagley featured on SPaMCAST

I recently had a chance to chat with Mr. Thomas Cagley in an interview for his wonderful Podcast channel SPaMCAST. We talked all about Agile Testing, its differences from the traditional approach of testing, Agile Pods and the upcoming trends in the testing world!

It was a wonderful experience and I am grateful for having the chance to talk to one of the people I so look up to in the industry. Here is the link to the podcast show notes and info

http://spamcast.libsyn.com/spamcast-516-agile-testing-and-more-an-interview-with-nishi-grover-garg

Here is the link for Direct Playback: bit.ly/2QKvPvm

 

Hear it out and do share your thoughts!

Cheers

Nishi

 

How To Convince Your Boss to adopt a Test Management Tool

Tips to Convince your Manager to Adopt a Test Management Tool

Working as a tester in today’s fast paced software delivery can be taxing. The advent of agile and DevOps has brought with it the need for faster and continuous testing, hence leaving no time for test content and management tasks. If you are a tester today then you may know what I mean and may already be bearing the brunt of manually creating, mapping, managing and tracking things like test documents, release versions, defects and their history, run reports and results and system health status at all times. You are craving for a solution and you know that will be a proper test management system. But you know the feeling when you are sure about something but your boss doesn’t seem to notice or care?

This happens often with test management tools, mainly because they are a part of process improvement and bosses may not care about ‘how’ the job is getting done as long as it is getting done! Most of the times your manager may not be aware of the features of the tool, the benefits it brings and its impact on your performance.

I recently wrote about the same in my guest post for PractiTest! Here is the link to my article for PractiTest QA Learning Centre  where I discuss ways you can convince your manager to adopt a test management tool using reasons he/she won’t be able to ignore!

  • Consider the manager’s goals
    tool image
  • Think of their pain points
  • Get your co-workers on board
  • Organise a Case Study
  • Really know the tool you want
  • Highlight additional integrations, features and value of the  tool
  • Take a Friendly approach

 

To read the complete article Click Here–>

I do hope that these tips help you convince your boss to get you the shiny new tool you need to make your life easier, you tests more manageable and your work more fun!

Please comment on the article and share your experiences!

-Nishi

P.S.

Image source – https://kendis.io/tag/scaled-agile-framework-tool/