Role Of Qa And Testing In Agile 1225221397167302 8

A
Role of QA and Testing in Agile Mayank Gupta
Time for Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Let us brainstorm ,[object Object],[object Object],[object Object],[object Object],[object Object]
Traditional software development
Agile testing -Why?
Traditional vs. Agile Approach Continuous sprint by sprint planning, deliver important features first Plan one time delivery which has to happen way later Planning Entire team Quality Engineer Quality Responsibility Evolving and Iteration Wise All Upfront Designing of Test Cases See working software every iteration and every release Milestone document review Progress review Adapt and adjust at every release and iteration boundary Prohibit Change Manage Change Constant interaction within the team and with the Product Owner Upfront Understanding Requirements Agile Traditional Criteria
Agile Values ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agile synthesized ,[object Object]
Agile Testing - Definition ,[object Object],[object Object],[object Object]
Focus of Agile Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agile Testing Practices ,[object Object],Automated  Acceptance tests Manual  Exploratory  testing Automated  Unit Tests ,[object Object],[object Object],[object Object],[object Object],[object Object]
Test Driven Development (TDD) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Write the Test Refactor Execute the build Coding Execute the build Fail Pass Pass Fail
Continuous Integration ,[object Object],[object Object],[object Object],[object Object]
Continuous Integration ,[object Object]
Regression Testing
Exploratory Testing ,[object Object],[object Object],[object Object]
Role of a Tester in an Agile Project ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Day in Life of a Tester ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why does it fail? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How GlobalLogic does it? ,[object Object],[object Object],[object Object],[object Object]
Velocity – A case study
[email_address]
1 von 23

Más contenido relacionado

Was ist angesagt?(20)

Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
1Solutions Pvt. Ltd.8.3K views
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Intetics57.7K views
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
Subrahmaniam S.R.V3.2K views
QA process PresentationQA process Presentation
QA process Presentation
Nadeeshani Aththanagoda6K views
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter template
Rob Swoboda8.9K views
Regression testingRegression testing
Regression testing
Anamta Sayyed444 views
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
Keytorc Software Testing Services2.8K views
Test Life CycleTest Life Cycle
Test Life Cycle
Nilesh Patange67.8K views
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb16.8K views
Automation testingAutomation testing
Automation testing
Mona M. Abd El-Rahman908 views
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
Ken McCorkell5.8K views
Test StrategyTest Strategy
Test Strategy
Zbyszek Mockun3.5K views
Types of testingTypes of testing
Types of testing
Sonam Agarwal26.2K views
Agile testingAgile testing
Agile testing
Yogita patil1.4K views

Destacado(20)

Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
Hai Tran Son1.1K views
Agile Testing: It's about timeAgile Testing: It's about time
Agile Testing: It's about time
Atlassian883 views
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari51.3K views
Introduction to Agile software testingIntroduction to Agile software testing
Introduction to Agile software testing
KMS Technology116.8K views
Agile testing - introductionAgile testing - introduction
Agile testing - introduction
QA Club Kiev1.7K views
Agile  testingAgile  testing
Agile testing
Sudeep Pattnaik573 views
Transitioning To Agile Transitioning To Agile
Transitioning To Agile
ThoughtWorks Studios1.2K views
Agile TestingAgile Testing
Agile Testing
danielbilling1.7K views
Agile tester 3.0Agile tester 3.0
Agile tester 3.0
Daniel Amorim2.4K views
2015 08-062015 08-06
2015 08-06
Mary Ann May-Pumphrey318 views
Huddle Your QAHuddle Your QA
Huddle Your QA
Pushpa Reddy2.7K views
Intro to agile testingIntro to agile testing
Intro to agile testing
Tristan McCarthy244 views
Expo:QA - Agile Testing MindsetExpo:QA - Agile Testing Mindset
Expo:QA - Agile Testing Mindset
Growing Agile1.8K views
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain Choices
Mark Sigler240 views

Similar a Role Of Qa And Testing In Agile 1225221397167302 8

Agile testingAgile testing
Agile testingRaj Indugula
2.7K views46 Folien
Notes on agileNotes on agile
Notes on agileAmolS7
30 views11 Folien

Similar a Role Of Qa And Testing In Agile 1225221397167302 8(20)

Agile testingAgile testing
Agile testing
Raj Indugula2.7K views
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa Crispin
Directi Group5.7K views
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
Pradeep Patel, PMP®356 views
Notes on agileNotes on agile
Notes on agile
AmolS730 views
Agile testingAgile testing
Agile testing
Sony India Software Center492 views
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
Raghu Karnati854 views
Agile software developmentAgile software development
Agile software development
pradeeppatelpmp1.6K views
Agile TestingAgile Testing
Agile Testing
HarshaVJoshi352 views
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
Dennis Popov391 views
How Does IBM Do AgileHow Does IBM Do Agile
How Does IBM Do Agile
Alan Kan14.3K views
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
Sushilkumar74491316 views
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
BharathReddy61585939 views
Agile testing practiceAgile testing practice
Agile testing practice
Mary Jiang668 views
Agile case studiesAgile case studies
Agile case studies
Sébastien Donné408 views
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
IBM UrbanCode Products26.6K views

Role Of Qa And Testing In Agile 1225221397167302 8

  • 1. Role of QA and Testing in Agile Mayank Gupta
  • 2.
  • 3.
  • 4.
  • 7. Traditional vs. Agile Approach Continuous sprint by sprint planning, deliver important features first Plan one time delivery which has to happen way later Planning Entire team Quality Engineer Quality Responsibility Evolving and Iteration Wise All Upfront Designing of Test Cases See working software every iteration and every release Milestone document review Progress review Adapt and adjust at every release and iteration boundary Prohibit Change Manage Change Constant interaction within the team and with the Product Owner Upfront Understanding Requirements Agile Traditional Criteria
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Velocity – A case study

Hinweis der Redaktion

  1. To follow the waterfall model, one proceeds from one phase to the next in a purely sequential manner. For example, one first completes requirements specification, which are set in stone. When the requirements are fully completed, one proceeds to design. The software in question is designed and a blueprint is drawn for implementers (coders) to follow — this design should be a plan for implementing the requirements given. When the design is fully completed, an implementation of that design is made by coders. Towards the later stages of this implementation phase, disparate software components produced are combined to introduce new functionality and remove bugs.
  2. Agile testing is all about applying agile values and principles to testing. Agile testing involves the set of good practices which help the agile team deliver high quality software.
  3. The key here is to make the entire development team, not just testing or QA, responsible for testing and quality. Automation is the manta in agile testing. In agile, it is important to automate all unit & regression tests and further integrate them with continuous integration framework so that testers are free to concentrate more on exploratory testing.
  4. The key here is to make the entire development team, not just testing or QA, responsible for testing and quality. Automation is the manta in agile testing. In agile, it is important to automate all unit & regression tests and further integrate them with continuous integration framework so that testers are free to concentrate more on exploratory testing.
  5. TDD is one such software development technique which ensures that the software being developed is 100% covered by unit test cases. How it is so? It is because TDD talks about writing the test case first and then the actual coding. Let us look at the steps of TDD Write the unit test cases for the features to be developed in the sprint Run a build to make sure that the build recognizes this new test cases and build fails Now write just enough source code to ensure that it covers the test case Run the build again to confirm that the build passes Now because the developer has written the code just to cover the test case, it is time to refactor the source code to make sure that the code is readable by others (adding proper comments), simply its structure without changing the behavior of the feature developed.
  6. Sometimes we have to follow the process of finding the most important bugs in a short period of time, this is called exploratory testing. Exploratory testing is like a chess game with a computer. Tester revise his plans after seeing the move of your opponent. Yet all your plans can be changed after one unpredictable move of your opponent. Can you write a detail plan for a chess game with a computer? Player uses all his knowledge and experience. He can define only the fist move in the game and it is unreasonable to plan far ahead. You can plan 1 move ahead, or 20 moves if you're a very experienced player, but you can't plan the whole game. To plan 20 moves he had to spend a lot of his valuable time (the clock is ticking). Of course he is trying to find some information about existing situations between moves. This is exactly what an experienced exploratory tester does. After running any test case, testers may need to find additional information about application and system from a developer, system architect, business analyst, or may be from literature. A lot of information is necessary for correct exploratory testing. Other teams whose products are used for creating the applications have influence on our testing too. Just as a star may seem dim in the spectrum of visible light, yet burn brightly in the infrared, the simple idea of exploratory testing becomes interesting and complex when viewed in the spectrum of skill . Consider chess. The procedures of playing chess are far less interesting than the skills. No one talks about how wonderfully Emanuel Lasker followed the procedures of chess when he defeated Steinitz in 1894 to become world champion. The procedures of chess remain constant, it’s only the choices that change, and the skill of the players who choose the next move. What makes exploratory testing interesting, and in my view profoundly important, is that when a tester has the skills to listen , read, think and report, rigorously and effectively, without the use of pre-scripted instructions, the exploratory approach to testing can be many times as productive (in terms of revealing vital information) as the scripted variety. And when properly supervised and chartered, even testers without special skills can produce useful results that would not have been anticipated by a script. If I may again draw a historical analogy, the spectacularly successful Lewis and Clark expedition is an excellent example of the role of skill in exploration:
  7. A day in the life of a Quality Engineer Hi! My name is Cue Aye. I'm a Quality Engineer. I'm one of the few who make sure that we're building the right product in the right way. I work closely with the Product Manager and the developers too. A normal day My normal day, during an iteration, looks something like this: I come to work with a smile, around the same time as my team mates. It is essential that I maintain a pleasant disposition... that's because I know I'm in for a tough day, especially if the developers haven't been doing a good job! I open my email client and start downloading my waiting emails In parallel, I log in to JiRA and open my Personal Work Queue , already sorted by priority I decide, according to the estimates I'd signed up for, how many of those work items I can complete/continue today I shoot a print command for that list and the issue summaries I grab a coffee and chat with a colleague while my tasks for the day get printed I quickly go over the work item summaries as I walk over to our stand-up room During the stand-up, I listen to everybody speak offer help if someone needs it (but discuss it in a follow-up) honestly answer the 3 questions about my work progress I then come back to my desk and start working on tasks off the printed work items list, highest priority first What I do next depends on the different kinds of tasks that I may have signed up for: Writing acceptance criteria (this is usually substituted by writing of Test Case s) This task is closely linked to a business requirement . I need to understand the requirement as well as I can, using both my domain knowledge and frequent discussions with the Product Manager about the same There is quite a bit of back-and-forth that happens while fleshing out the acceptance criteria: I add a few points (mostly in the form of steps to be performed by an end-user), the Product Manager reviews them, gives his comments, and I update the issue accordingly Finally when both the Product Manager and I are happy with the criteria we've listed out, I resolve the work item issue Writing a Test Case This task is again closely linked to a business requirement and is very much similar to writing acceptance criteria – the only difference is that these are more in-depth and cover many more scenarios (such as positive and negative cases) I use the Test Management System to register the test case against the business requirement (this helps in maintaining traceability) Automating a Test Case This task usually goes hand in hand with writing a test case... we strive to automate as many of the tests as possible I use the test automation tools chosen at the beginning of the release, depending on the nature of the product and the kind of test automation strategy adopted I write the scripts, either programmatically or using the point-and-click approach, and run them again and again on my local machine, tweaking the script after each run to make the execution smooth and error-free... I make sure that I handle all of the exception cases too (the failure of one script shouldn't prevent other scripts from running) Once confident of the script, I check it in into our project's code repository, mentioning the work item issue id as a commit comment The Test Management System should be able to notice the check in and automatically link the script to the related Test Case . This would help automate execution of the test scripts. I test whether the checked-in scripts work as supposed to, and then I resolve my work item issue Running an automated Test Case This task is carried out when QA has received a Release Candidate Build for testing. Using the Test Management System , I select the Test Case(s) which need to be executed and give the command to run them. Usually this is all that I need to do because the rest is handled by the Test Management System itself: it'll check out the test scripts, execute them against the specified build in the QA staging environment, and log the test results in the Test Set Execution issue. If there are failures, Defect issues are also automatically created. In case the above is not possible for some of the scripts, I check out the scripts and run them myself, making note of the results and logging them in the Test Set Execution issue assigned to me. If there are failures, I myself create Defect issues . Once done, I resolve my work item issue Executing a Test Case manually It is sometimes necessary to manually execute a Test Case, when it is not possible to automate the same I interact with the Release Candidate Build provided to the Quality team, making sure the prerequisites of the Test Case are satisfied I perform the steps mentioned in the Test Case, making note of any discrepencies and of course, errors. I log the results on the Test Set Execution issue assigned to me. If there are failures, I myself create Defect issues . Once done, I resolve my work item issue Every now and then I note the time I'm spending on the various issues. I jot them down on the printed sheets, to update them online later. At the end of the day, it's time to go home... I go over my notes on the printed issue summaries and update the issues online. I also log my work, if I haven't done so already. Hmm... I'm satisfied with a good day's work