Skip to main content

Posts

Showing posts with the label Testing

Benefits of Early and Frequent Feedback in Agile development

One of the reasons why Agile is preferred over traditional development method is "Early and Frequent Customer Feedback". This is not only helps customer to get what he wants but also helps development team to understand the requirement better. There is no room for misunderstandings and delays. so no BAD CUSTOMER SERVICE! In this post, I am going to discuss about some of the major benefits of early and frequent feedback in Agile. One way to get the early feedback is "CI" or Continuous Integration. There are many tools available in the market like Jenkins which help in running automated tests when a change is introduced in the build and give the feedback on the build performance or quality. Below are some of the advantages of early and frequent feedback: Early and regular feedback helps in clearing out the misunderstanding of the requirements. Unlike in traditional method, fixing the issues or requirements change is a lot less expensive. Customer get to see the...

Exploratory Testing in Agile

Exploratory testing plays an important role in Agile environment due to limited time available and limited details of the user stories. To get the best results out of exploratory testing, it should be combined with other experience based testing techniques. Some of the important features of exploratory testing in agile are: Test design and execution take place at the same time guided by prepared Test Charter The result of most recent tests are used to guide the next tests. As mentioned earlier, it is combined with other experienced based testing in order to get the best results It is a time boxed testing session and test charter provides the test conditions to cover.  Test Charter Test Charter is a statement of test objectives and test ideas (how to test) and mainly used in carrying out the exploratory testing. Below are some of the details included in preparing Test Charter: Actor : the expected user of the system Setup : the test environment set up needed to ca...

The Agile Manifesto Values and Principles

Agile manifesto refers to the set of rules or values used in an agile project. It contains mainly 4 values: Individual and Interactions Working software Customer collaboration Responding to change Over (in traditional project): Processes and Tools Comprehensive documentation Contract negotiation Following a plan Let's discuss these four values in details: Individual and Interactions : Agile development follows a whole team approach and is very people centered. Development team builds software through communication and interaction among different teams and people instead of depending on tools and processes. Individual team member offers a specific skill set and whole team involves in planning the development and testing strategies.  Working software : It is always beneficial to see the working software instead of heavy documentation. It also helps developers in getting early feedback from the clients which in turn cuts down the cost of accommodating c...

Role of a Tester in an Agile Team

Tester in agile is no different from that of traditional tester but in agile, he has to play multiple roles apart from just testing the software. In this post, we are going to discuss about the role of a tester in a project following a scrum life cycle. To make a project successful, testing plays a vital role. In agile, the main idea is whole team approach where testers, developers and business representatives work together as a team. Below are some of the main roles or best practices followed by team members in an agile (Scrum) environment: Cross-Functional: Every team has team members with a specific skill set which they bring to the table. The team work together on Test strategy, Test plan, Test execution and evaluation. Quality is a shared responsibility.  Self-Organizing : There are no leads in Agile. Team is self organized, meaning every team member knows and understands his responsibility and work accordingly.  Co-located : In most of the cases, testers, de...

Skills of an Agile Tester

This post is referred from ISTQB Agile certification syllabus plus I have included my own experience working in Agile environment as a Tester. Let's discuss about the skills first. I have categorized skills in two categories:  Technical Skills  Interpersonal Skills Technical skills include: Test automation : It is crucial to have at least a basic understanding of automation and the tools which are used for automating. Automation not only saves a lot of time and efforts but also, gives you quick defects on the newest build.  TDD (Test Driven Development) : This is used to develop code which is mainly guided by the automation. In other words, we call it "test-first" approach, so the test is written first and then code follows.  ATDD (Acceptance Test Driven Development): As the same suggests, this defines the acceptance criteria and helps developers, testers and business people to understand what they need to get the expected results. This approach incl...

Negative Testing and Writing negative test cases

Negative testing or destructive testing tests what a software is not made to do or boundary testing which can break the software functionality. In other words, what "Should not" defined under the requirements. Let's take an example, if a text box under the label "Name" can take only alphabets then when a numeric or special character is entered, it should be able to handle that properly by throwing an exception which could be an error message on the screen or a pop-up box saying “only alphabets allowed”. Another example could be: an input box which can take numeric value range from 1-99, so giving 0 or 100 as input would be considered as negative testing. When we want to build a quality product, both positive and negative scenarios play an important role. Without negative testing, we would not be able to know what makes the application crash and its limitations. I am going to list down three main advantages of doing negative testing. Advantages of negativ...

How to write a detailed Bug report?

Welcome to Software Testing Techie Blog! Bug report sounds familiar, right? As testers, we all create one or more than one bug report in our everyday work but what mostly matters is how detailed do we create them? What details we put in and how other teams get benefit out of it. BUG!! I am going to share an example related to detailed bug report and how it affects the quality. Detailed bug report is one of the best gift you can give to your and also to development team. Let's see how: A detailed bug report should have 4 major things namely severity, steps to reproduce, expected result and actual result. There could be other fields depending on what defect tracking tool you are using for example, testing estimate, test cases reviewer etc. Consider an easy example where user logs into a website and found that home screen is distorted. So Let's define all above 4 major areas: 1. Severity: Since it is related to Home screen which is the most important part of ...

Testing is inevitable!

Welcome to Software Testing Techie Blog! Today I am going to write about something which we all observe but not pay enough attention to! Testing is something which is innate in all of us! Yes, we all are testing throughout our life :) The main reason could be the human behavior of not trusting anything. Remember the time when we were young and had a play guitar which was our favorite toy. How much testing was performed on it? We played with it until we broke it completely. Hilarious! Now observe a child when he is given anything to eat, he starts testing it by mashing it on the ground, looking at it number of times, beating it again and again and finally when he feels like it is good, he takes it in his mouth to eat. Testing is one of the most interesting fields, unlimited number of ways to test a particular software. But to enjoy testing, the only condition is to open up your mind and test. You will find that you are learning something new everyday and your job woul...