Read Along- ‘Agile Testing’ Chapter-9

“Toolkit for Business-Facing Tests that Support the Team”

  • As agile development has gained in popularity, we have more and more tools to help us capture and use them to write executable tests.
  • Your strategy for selecting the tools you need should be based on your team’s skill set, the technology your application uses, your team’s automation priorities, time, and budget constraints. Your strategy should NOT be based on the latest and coolest tool in the market.
  • In agile, simple solutions are usually best.
    • Some tools that can help us illustrate desired behavior with examples, brainstorm potential implementations and ripple effects and create requirements we can turn into tests are—
      • Checklists
      • Mind maps
      • Spreadsheets
      • Mockups
      • Flow diagrams
      • Software based tools
  • A picture is worth a thousand words, even in agile teams. Mock-ups show the customer’s desires more clearly than a narrative possibly could. They provide a good focal point to discussing the desired code behavior.
    • Visuals such as flow diagrams and mind maps are good ways to describe an overview of a story’s implementation, especially if it is created by a group of customers, programmers, and testers.
    • Tools such as Fit (Framework for Integrated Tests) and FitNesse were designed to facilitate collaboration and communication between the customer and development teams.
    • Finding the right electronic tools is particularly vital for distributed teams (chat, screensharing, video conferencing, calling, task boards etc.)
    • Selenium, Watir and WebTest are some examples of many open source tools available for GUI testing.
  • Home-Brewed Test Automation Tools
    • Bret Pettichord (2004) coined the term ‘home-brewed’ for tools agile teams create to meet their own unique testing needs. This allows even more customisation than an open source tool. They provide a way for non technical customer team members to write tests that are actually executable by the automated tool. Home-brewed tools are tailored to their needs, designed to minimize the total cost of ownership and often built on top of existing open source tools.

The best tools in the world won’t help if you don’t use them wisely. Test tools might make it very easy to specify tests, but whether you are specifying the right tests at the right time is up to you.

Writing detailed test cases that communicate desired behavior is both art and science.

Whenever a test fails in Continuous Integration (CI) and build process, the team’s highest priority should be to get the build passing again. Everyone should stop what they are doing and make sure that the build goes ‘green’ again. Determine if a bug has been introduced, or if the test simply needs to be updated to accommodate intentionally changed behavior. Fix the problem, check it in, and make sure all tests pass!

Experiment – so that you can find the right level of detail and the right test design for each story.

  • Keep your tests current and maintainable through refactoring.
  • Not all code is testable using automation but work with programmers to find alternative solutions to your problems.
  • Manual test scenarios can also drive programming if you share them with the programmers early. The earlier you turn them into automated tests, the faster you will realise the benefit.

Start with a simple approach, see how it works, and build on it. The important thing is to get going writing business-facing tests to support the team as you develop your product.

Advertisement

How Technology Has Changed Project Management

The use of advanced technology in business environments can sometimes be jarring. Adjustments can be difficult, and on top of that many employees across a range of industries worry that technology can make them obsolete. These can be legitimate concerns in some cases. But, more often than not, technology serves instead to simplify processes and, ultimately, make life easier on people as they go about performing their jobs. This is certainly proving to be the case where project management is concerned.

Project management demands and processes vary across different businesses and industries, which means that not all teams in this category can implement modern technology in exactly the same ways. Here we’ll examine a few key ways in which tech can and has changed project management for the better.

Communication & File Sharing

Maybe the biggest change that technology has brought about for project management teams is a simplification of communication among groups in a work setting. In 2019, our post on ‘Overcoming Barriers to Effective Communications in Agile Teams’ touched on the idea that various barriers to regular communication can negatively impact productivity. And the same is absolutely true for project management teams of all kinds.

Now, however, there are several different communications platforms that are being used in professional environments to streamline collaboration. Often enough, they’re used to simplify digital communications in office environments in general, providing a space where everyone from a manager to a part-time freelancer can log in, see shared information, engage in relevant chats, and generally stay up to speed. These platforms can also be invaluable for project management teams.

For instance, think about a fairly common project such as developing a website or an app for a business. These are projects that involve contributions from people with different skills in conjunction with one another. A page design can’t be completed without understanding of the content layout; content layout can’t be finalized without a thoroughly developed visual aesthetic, and so on. On these modern communication platforms, these matters can easily be discussed between relevant parties such that the greater project can move forward. Updates and examples can be shared, and people can easily work with relevant collaborators whenever they need to.

Collaborative Design

In the past, one issue that plagued some project management teams is how to get everyone on the same page in more multi-faceted projects. There haven’t always been structured ways for different aspects of one overarching project to be addressed in a cohesive manner. This is changing, however, thanks in large part to both abstract and specific software.

Read More »

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 »

I am speaking at the ‘World Test Engineering Summit’, Bangalore

I am pleased to announce that I will be speaking at the upcoming ‘World Test Engineering Summit’ being organised by 1.21GWs at Bangalore. It sure is an impressive lineup of speakers and I am glad to be a part of it! Check out the details of the event here-

https://1point21gws.com/testingsummit/bangalore/testengineering/

I will be speaking on –

“Layers in Test Automation – Best Practices for Separation and Integration”

About my topic –

Often a testing team consists of a mix of subject matter experts, some manual testers and testers with some automation experience. Writing tests in the language of the business allows all stake holders to participate and derive value out of the automation process. If you are a nervous beginner or an expert at test automation, you need to know and understand the layers of test automation and how to separate the code from the test. Let us discuss the best approaches and practices for creation of a robust automation framework with correct separation as well integration of these layers. We will also see a demo on how to implement this with a case study!

Also, Sahi Pro is partnering with the event and setting up a demo booth at the event! So, we’ll have our team there to showcase the capabilities of the unique tool and answer all questions.

Be sure to stop by the booth to chat and catch a demo!

Looking forward to a wonderful event! 🙂

Four Questions to ask yourself when planning Test Automation

Test automation poses its own challenges different from manual testing. Teams struggle to get the most out of their test automation due to many hurdles along the way.

Good planning can act as a solid foundation for your test automation project and help you fully reap the benefits. Consequently, there are many things to consider and discuss prior to jumping into test automation to ensure you are following the right path.

In my article published at Gurock TestRail Blog, I have discussed four main questions to ask yourself before starting with test automation-

  1. What is your team’s goal for test automation?
  2. What about implementation?
  3. What is your execution strategy?
  4. Who will focus on maintenance?

Read the full article here to find more on each of these questions and how these help to finalize on a test automation strategy which will help lead your team to success!

Please give this article a read and share your thoughts!

Cheers

Nishi

5 Mistakes to Avoid When Adopting a New Tool

We are all forever on the lookout for better and faster ways to achieve our quality goals, and adding new tools to our suite often seems like a good way to do that. However, introducing a new tool to an already working environment may be tricky and could require some special considerations.

In my latest article for @Gurock website, I take a look at five common mistakes teams make when adopting a new tool, so we can be sure to avoid them. My write-up has been published at TestRail blog here -> https://blog.gurock.com/5-mistakes-tool-adoption/

The main mistakes in tool adoption and their prevention steps that I have discussed in this article are:

  • Jumping in without a POC
  • Not testing the tool in a Pilot Project
  • Performing the wrong Profit analysis
  • Rolling Out adoption all at once
  • Neglecting Continuous Learning

Read the full article and let me know your thoughts!

A Day in the Life of an Agile Tester

An agile tester’s work life is intriguing, busy and challenging. A typical day is filled with varied activities like design discussions, test planning, strategizing for upcoming sprints, collaborating with developers on current user stories, peer reviews for teammates, test execution, working with business analysts for requirement analysis and planning automation strategies.

In my article for Gurock TestRail blog, I have explored a typical day in the life of an agile tester and how varied activities and tasks keep her engaged, busy and on her toes all the time!

agile tester.png

Let’s sneak a peek into a day in the life of an agile tester — > You will go through the daily routine of an agile tester and will experience their complicated schedule in real time.

Read full article

https://blog.gurock.com/agile-tester-work-life/