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>

My Contribution to the eBook ’21st Century Skills for Software Testers’

I am proud to announce another one of my contributions made its way to the eBook titled ‘21st Century Skills for Software Testers‘. This initiative was started by Emna Ayadi and Ard Kramer asking for contributions from various testers on their thoughts about the essential pivotal skill sets that benefit software testers.

🚀 This bilingual book made by software testers is all about:
How we apply 21st-century skills:
🔸 Critical thinking
🔹 Communication
🔸 Collaboration
🔹 Creativity
and also how we are going to use these skills in the future.

#21stskills4testers

This was a great initiative to bring together thoughts of many great testers from around the globe. There are some great pieces featured and a number of things to learn. I am super excited to feature in not one but Two sections in there –

Check out what I wrote in the First section of ‘Critical Thinking’ – Section 1.1.15 ‘Stories of Testers from the Present’ and Section 1.2.8 ‘Imaginations and Thoughts of Testers’

Find the eBook here -> https://leanpub.com/_21stskills4testers And you can download the book for free (fill out 0 dollars)

Glad to be featured along with so many awesome people from around the globe!

I am grateful for the opportunity and always welcome more such chances to contribute my thoughts for the betterment of the testing community!

Cheers

Nishi

Is Test Automation Alienating Your Business Testers?

With numerous test automation tools and frameworks available today, many in the software testing industry are focused on learning them all. It is important to stay updated with new technology. But are testers losing something in the race to become more technical and equipped with automation skills?

In my article published at TestRail blog, I examine ways to see if your test automation is becoming so technical and code-intensive that it’s in danger of alienating the subject-matter expert testers who best know the core of your business?

Technology should serve people

It is important to understand and remember that test automation tools have been designed to make testers’ lives easier and better. They are not intended to replace testers or overpower them. They make tests execute faster, with more accuracy and fewer errors, so if they eliminate anything, it is redundancy and repetitive work. This technology is meant to serve testers — to save their time and effort and give them more freedom.

To this end, the first intent behind adopting any technology must be its fitness for use in the project, not its popularity in the market. The skills needed to adopt the tool and begin using it in the project should be easily obtained by hands-on learning or training. Read full article ->

Testing is creative

Testing is a creative job, and it always has been. The advent of new tools and technology has not changed this fact. Tools can do part of a tester’s job, but they still cannot test. Although some people may argue on behalf of artificial intelligence and machine learning that can take over many actively creative aspects, we are not there yet. We still want and need a human to capture the creative tests, discuss the pros and cons of design aspects, peer-review test cases, and report problems.

Everyone can contribute to test automation

When we look at testers’ resumes, the tendency is to look for tools they can work with. But the more important skill we need is their ability to contribute to test automation in one way or another. We cannot judge this fact just by asking if a person is able to write test automation scripts or knows a certain programming language. They may be able to learn the Gherkin format to design and write feature files for Cucumber tests. Or if you decide to adopt a keyword-driven framework, they could pick up the keywords and begin writing tests so that the same test cases can double as test scripts.

Read More »

Are You Driving Talent Away?

Regardless of size, your business can ill afford a high employee turnover rate. That’s because restocking on talent is costly, with Forbes reporting how hiring a replacement costs employers 33% of the outgoing employee’s annual salary. So, if an employee who earns $45,000 annually resigns, replacing them could cost the company $15,000. Crucially, it takes new hires 8–12 weeks to get up to speed and be at their most productive best, which means your business isn’t just losing money with high employee turnover — you’re also sacrificing productivity.

It goes without saying that employee retention is vital, especially in light of work-from-home setups making things trickier and a lot more challenging. That said, you might be driving away members of your team unknowingly, and adversely impacting your company’s bottom line.

As such, it is now time to take a long, hard look at your management style, and check if there are practices or company policies that might be pushing even your best employees out the door. In particular, you might want to determine whether or not you are guilty of the following, which are sure to tick off your team and get them looking elsewhere.

Setting Unclear Goals


Chron contributor Jim Woodruff details how employees respond favorably when they know clearly and concretely what the company expects from them. In turn, they are more likely to be enthusiastic about work, and in working towards those goals. Setting goals is particularly important in this era of remote work given the difficulties of communicating company objectives to offsite teams.

Without clear goals to guide them, employees working from home can grow easily distracted, and will be tempted to look for either greener pastures or something more fulfilling. Business writer James Gonzales highlights how when working from home, the days tend to melt into each other and can become monotonous. This makes it crucial to have goals for employees to keep them motivated, and working towards the attainment of concrete goals. Whether professional (as in a promotion) or personal (like skills development), these goals will keep your team engaged, and much more likely to stay.


Micromanaging


Micromanaging is a surefire way to drive a wedge between you and your employees. This is none truer than in remote working setups, where micromanaging — as in requiring hourly work updates and tracking hours — is generally misconstrued as a lack of trust on the part of management. Whether that’s true or not is moot, as the mere thought of it is enough to demotivate your employees, to the point of making them consider leaving.

Moreover, micromanaging can put undue stress on your employees, who have to deal not just with work, but also with your constant check-ins, nonstop instructions, and grating leadership style. This results in increasing stress levels that can cause burnout and a host of physical maladies that will severely compromise your employees health, until such a time that taking time off or resigning become their only options.

Here are some tips for employees and managers alike –

Ideas for Self-Care when working from home

Tips to keep your Sanity and Productivity Intact when working from home

Not communicating enough


While employees don’t want to be micromanaged, they don’t want to be left in the dark either. They want you to check up on them from time to time, and will appreciate it if you do. This is most true for remote teams, as bumping up communication, according to a previous post on telecommuting by Nishi Grover Garg, is one way you can show engagement and build connections with your employees.

Your failure to communicate, however, can cause friction, confusion, and frustration, as well as a lack of clear direction. It can even stress out your employees, with 4 in 5 Americans admitting to being stressed out due to poor office communication. Tellingly, a 2017 Gallup report underscores the need for better engagement, as it found that excellent workplace communication increases employee retention and productivity by 24% and 17%, respectively.

Here are some tips on Ways to Stay Engaged with your team when Working from Home

exclusively written for testwithnishi.com

by Rowena Jill

Rowena Jill is an entrepreneur and writer who is passionate about inspiring leaders to be better. In her spare time, she loves to bake and tend to her indoor garden.

Image Credits – https://images.pexels.com/photos/3874627/pexels-photo-3874627.jpeg


Defining Your Definition of Done

The success of your team and the release depends on everyone getting their individual parts done in time. But how do you define being “done”? What indicates a finished task and differentiates it from a half-baked one?

It is all about having a clear definition of done established and agreed upon within the team from the onset of the project. Check out my article published at https://blog.gurock.com/definition-of-done/ – Here I talk about some good ways to define your Definition-Of-Done

Brainstorm with your team

The person who is going to work on each task is obviously the best person to comment on how and when it will be closed. So, the first step would be to discuss and list the obvious things these people deem would need to be done in order to be able to say that their task is done. Sometimes, you may be surprised how different these “obvious” points may be for different team members.

For instance, Tester 1 may say that after executing tests on their user story, they also spend an hour doing exploratory testing before completing their testing tasks, while Tester 2 did not consider that as part of the task. They completed the test execution task once done with scripted tests and later, if time permitted, would perform some exploratory tests.

By doing this exercise you are baselining your expectations from each task, independent of its owners.

Consider quality goals

If you are seeking to come up with a definition of done, there is probably an area you are trying to improve and some quality goals you are trying to achieve, so consider them now. Think of what seem to be your team’s problem areas, or the source of their delays at the end. Now add a part of those quality goals in the relevant tasks.

For example, let’s say your builds seem to fail too often, and that leads to a lot of rework and retesting within the sprint. After some analysis, you found that the build failed because of developers checking in buggy code, mostly lacking integration tests.

Read More »

Read Along- ‘Agile Testing’ Chapter-21

“Key Success Factors”

Outlining some Key success factors for Agile Testing –

Success Factor -1 Use the Whole Team Approach

When the whole development team takes responsibility for testing & quality, you have a large variety of skills sets and experience levels taking on whatever testing issues might arrive.

Success Factor -2 Adopt an Agile Testing Mind-Set

Use agile principles and values to guide you. Always try the simplest approach first. Experiment with new practices, tools, and techniques.

Success Factor -3 Automate Regression Testing

Use Agile Testing Quadrants and test automation pyramid to help you automate different types of tests effectively. Experiment with different ways of getting support from management and from team members to start some tiny automation effort.

Success Factor-4 Provide and Obtain Feedback

One of the most valuable skills you can learn is how to ask for feedback on your own work. Feedback is imperative for agile teams.

Success Factor -5 Build a Foundation of Core Practices

Continuous Integration process needs to be implemented, setup test environments and manage technical debt

Success Factor -6 Collaborate with Customers

Help customers clarify and prioritize requirements, illustrating requirements with concrete examples and turning those examples into executable tests.

Success Factor -7 Look at the Big Picture

Testers tend to look at the big picture, and usually from a customer point of view, which is a big contribution to the team. Plan testing to cover all angles. Use Exploratory testing to learn more about how the application should work, and what direction your testing needs to take.

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

And here ends my ‘Read Along’ Series for ‘Agile Testing’ by Lisa Crispin and Janet Gregory. It sure was a fun and informative read and I learnt a lot from it! I hope this series helps someone read along chapter-wise or even someone looking for quick introduction to agile testing.

Happy Testing!

Nishi

Read Along- ‘Agile Testing’ Chapter-20

“Successful Delivery”

  • It’s not enough to just code, test and say it’s done. Our goal is to deliver value to the business in a timely manner.

It is helpful to have a “Fit and Finish” checklist. Sometimes fit and finish items aren’t ready to be included in the product until close to the end. It may be necessary to rebuild parts of the product to include items such as new artwork, license or legal arrangements, digital signatures for executables, copyright dates, trademarks and logos.

It is helpful to assemble these during the last full development iteration and incorporate then into the product while continuous integration build cycles are running so that extra builds are not needed later.

  • Agile testers can serve as a conduit or facilitator when it comes to physical delivery of the software.
  • Most teams accumulate some technical debt, despite the best intentions, especially if they’re working with legacy code. To maintain velocity, your team may need to plan a refactoring iteration at regular intervals to add tests, upgrade tools and reduce technical debt.
  • Some teams resort to ‘hardening’ iterations, where they spend time only finding and fixing bugs, and they don’t introduce any new functionality. This is a last resort for keeping he application and its infrastructure solid. New teams may need an extra iteration to complete testing tasks, and if so, they budget time for that in the release plan.

I, too, have worked with Hardening Iterations and here is the article I wrote a while back about it https://testwithnishi.com/2018/10/08/optimize-your-hardening-sprint-for-a-quality-advantage/

End Game

It is the time when the team applies the finishing touches to the product.

It is not meant to be a bug-fix cycle, because you shouldn’t have any outstanding bugs by then, but that doesn’t mean you might not have one or two to fix.

  • Use the end game to do some final exploratory testing. Step back and look at the whole system and do some end-to-end scenarios.
  • As a part of the end game, your application should be deployed to staging just like you would deploy it to production.
  • Staging environments can also be used for load and performance testing, mock deploys, fail-over testing, and manual regression tests and exploratory functional testing.
  • Automating data migrations enhances your ability to test them and reduces the chance for human error.
  • Last minute disasters can happen. The team should cut the release scope if the delivery date is fixed and in jeopardy.
  • Work to prevent a “no go” situation with good planning, close collaboration, driving coding with tests, and testing as you code.
  • As a tester, it is important to understand how customers view the product, because it may affect how you test. Alpha and Beta testing may be the only time you get to interact with end users, so take advantage of the chance to learn how well the product meets their needs.

Learn from each release and take actions to make the next one to go more smoothly.

Speaking from Home

Conferences, events and meetups are all things I enjoy. I have been an organizer, speaker & presenter, host and volunteer at many events. When 2020 started, I had big hopes and plans of travelling to speak at multiple international events and also had a few local Bangalore events lined up. But the world had to face a pandemic and everything came to a screeching halt.

As many of you, I was disheartened too. But I still hoped for things to get better, thinking we might get to some of the events at least. Things are different now. We now know that this lifestyle is here to stay. We have been working, learning, recruiting, networking and meeting remotely and might have to continue to do so for a while.

But where does this put the life of a ‘speaker’ – someone who enjoys speaking, being invited to attend and talk at events?

Well, I would like to highlight how I have been pleasantly surprised by the state of our events and their emergence from all the cancellations, losses and hearbreaks!

In the past 6 months, I have spoken at more events I would have normally! I have had the chance to connect with multiple events in various ways and all of them have shown me the resilience of our community.

TestBash Home 2020

It started with TestBash Home. Since TestBash Detroit was cancelled where I was to speak in April this year, I was invited to speak at the Testbash Home. It was a unique and fun event handled superbly by the MoT team. I have written in detail about the event and my experience here – https://testwithnishi.com/2020/05/07/my-experience-speaking-at-testbash-home/

TribalQonf , STeP-In Summit, Test Leadership Congress 2020

I was invited by Mahesh Chikane to speak at the TribalQonf which was a great opportunity. I presented about Adopting a Risk Based Test Approach and my talk was appreciated for which I am always #grateful !

My talk at TribalQonf

The event was organised well and I am glad to be a part of this superb round up video along with some awesome speakers!

Read More »

Read Along- ‘Agile Testing’ Chapter-19

“Wrap Up the Iteration”

  • Agile team delivers working software at the end of the iteration – demonstrate to the customers and get their feedback.
  • Having testers conduct the ’Iteration Review’ is a common practice as they’ve usually worked on all the stories. The Scrum Master, programmers or testers could demonstrate the new features – It is recommended to rotate this honor.
  • Retrospectives are an excellent place to start identifying what and how you can do better.
    • Start, Stop, Continue technique – Discussing What went well, What did not go well and what we can start doing to help.
    • Write task cards for actions to be undertaken to implement the steps
    • At the end of the next iteration, take a checkpoint to see if you improved

Retrospectives are a simple and highly effective way for teams to identify & address issues. The retrospective meeting is a perfect opportunity to raise testing-related issues. Bring up issues in an objective, non-blaming way.

Celebrate Successes

Make sure your team takes at least a little time to pat itself on the back and recognise its achievements.

Even Small Successes deserve a Reward.

Many agile teams have trouble taking time to celebrate success.

Have a weekly fun gathering or team games.

  • For big milestones such a big release or achieving a test coverage goal, the whole company can have a party to celebrate, bringing in catered food or go out.
  • It is also important to celebrate individual successes. A ‘Shout-Out Shoebox’ – is a great idea to recognize the value different team members contribute.
  • Taking time to celebrate successes lets your team take a step back, get a fresh perspective, and renew its energy so it can keep improving your product, giving team members a chance to appreciate each other’s contributions. Don’t fall into a routine where everyone has their head down working all the time!
  • Take advantage of the opportunity after each iteration to identify testing- related obstacles, and think of ways to overcome them.