If we look around us the software is becoming main-stream in each and every walk of our lives. It is like being part of our blood and we live with it in each every moment of our life. Given this the traditional ways of software development are getting replaced with new ones which will cater to the increasing demands of market. The new ways will cater well to the needs of the users and customers. One of such new model which has become very popular and well suited to this new paradigm is Agile model. Now, given there was a way testing was done in traditional model, the natural question is how is testing placed and done in Agile. This course, “Testing in Agile” is designed keeping this in mind. Even for those who are not yet exposed to Agile this course will fit well as the course has been designed keeping that in mind. This course applies to all (programmer, tester, business analyst, managers etc. ) in the team.
The software development models have evolved over the years. Here is a quick look at some of the traditional models.
To check understanding about different models.
What is Agile?
Agile is based on Agile manifesto and Agile principles.
How is testing activity based in Agile.
Lets give a quick look at Agile Team and the testing activity.
What are the top level differences in Agile vs traditional models.
One of the strongest aspect of team adapting Agile is the "Team One" approach.
Get started with introduction to Scrum
Lets us look at what is Scrum.
Lets go over Scrum framework.
What does Scrum team comprises of?
There are certain important events in Scrum. Lets go over them.
There are certain artifacts that need to be rolled out in Scrum.
There is certain way we rolll out new features and say we are "Done" with it. Lets explore that.
Get started with ATM.
There are four quadrants of ATM. Lets look at them.
The first quadrant of ATM.
The second quadrant of ATM.
The third quadrant of ATM.
The fourth quadrant of ATM.
Whats there related to testing in the Agile Manifesto.
Tester has an important role in Scrum framework.
Tester, one doing testing, has a new approach in Scrum team and Sprint planning.
Tester has new presence in the Daily Scrum,
Tester's say in Sprint Review and Sprint Retrospective.
Testers now have complete freedom in contributing to product backlog.
Testers are equal partners in owning up to burndown charts.
Lets do some hands-on.
The new approach of tester in Agile.
The new approach of test manager in Agile.
Lets do some hands-on.
The concept of test strategy has been there for long. How about in Agile?
Do we do test planning in Agile?
What are the issues with manual testing that impact going the Agile way.
What are the advantages of Automation?
There are certain challenges while going for automation. Lets find out.
Looking at quadrants of ATM, where all automation can be brought in. Lets look at that.
Some of the important aspects to look for while going for automation are the risks and the ROI.
There might be certain areas you may not want to automate.
How to go about choosing the tools for automation?
So, are you wondering how to get started in automation?
Regression testing has to be done with a defined scope.
Do we need some kind of versioning mechanism in place to assist in streamlining regression testing.
Lets look at that and the role of resources.
Managing regression testing is a daunting task. Tools can come in handy.
Automation plays a big part in regression testing. In fact, this area can make or break the Agile approach for the team.
How often we should do the regression testing?
Get started with defect and bug management in Agile.
Logging too little bugs and too many bugs. Is that an issue?
The bugs need to be well managed. The tools can be helpful in that.
What about defects? Can we use tools to manage them?
While using tools there are certain advantages and certain disadvantages.
Is there something in Agile principles that applies to the defect management?
Choosing bugs to fix is another important task.
The reports are needed to be prepared keeping in mind those who are going to consume them. Identifying these stakeholders is a very important activity to start with in the first place.
There are various kinds of reports that may be needed for different stakeholders.
There are different forms in which the reports can be generated.
How can test results themselves as they are (raw) be considered as reports?
Having automated dashboards is another critical thing needed to give a sense of direction, how things are moving, to the team and to other stakeholders.
Ganesh Sahai is B Tech from IIT Delhi (1993) and EGMP from IIM Lucknow (amongst the top technology and management institutes in the world). He has been founder, co-founder and founder team member of few start up companies and initiatives in the field of IT, Marketing and Academics. He Worked for Adobe since 1999 for around 12 yrs. He has led and setup many of the key testing teams from scratch for various Adobe products, like, Acrobat, Adobe Reader, AIR, CS, Tools etc. spanning desktops, handhelds (mob. phones etc.), hosted and enterprise area. He has worked as head of quality with one of the world's leading gaming technology company Aristocrat Technologies. Innovation is his passion and his innovative approach has got sixteen ideas approved for patents. Along the way he has supported and guided people in their innovative ideas. He is founder of “TestToBeBest" and “DoItvation" community of those interested in software testing and innovation respectively.