Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective



Similar documents
ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

Agile Testing. What Students Learn

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

AGILE SOFTWARE TESTING

Smarter Balanced Assessment Consortium. Recommendation

How To Be Successful At An Agile Software Engineering

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

ISTQB Certified Tester. Foundation Level. Sample Exam 1

Agile Testing and Extreme Programming

Agile Scrum Workshop

Test Plan Evaluation Model

Use service virtualization to remove testing bottlenecks

An Overview of Quality Assurance Practices in Agile Methodologies

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

MOBILE APPLICATION TESTING ENGINEER

Service Virtualization:

Software Development Process

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011

An Automated Testing Tool Using UI Structure

Comparing Agile Software Processes Based on the Software Development Project Requirements

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

Good Agile Testing Practices and Traits How does Agile Testing work?

Sample Exam Foundation Level Syllabus. Mobile Tester

TESTING FRAMEWORKS. Gayatri Ghanakota

Rational Quality Manager. Quick Start Tutorial

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

4. Test Design Techniques

ISTQB Foundation Sample Question Paper No. 6

Business white paper. Best practices for implementing automated functional testing solutions

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

The Importance of Continuous Integration for Quality Assurance Teams

Workshop on Agile Test Strategies and Experiences. Fran O'Hara, Insight Test Services, Ireland

ALM120 Application Lifecycle Management 11.5 Essentials

Software Engineering Principles The TriBITS Lifecycle Model. Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL)

Automated Testing Best Practices

Upping the game. Improving your software development process

ICAgile Learning Roadmap Agile Testing Track

Sample Exam Foundation Level Syllabus. Mobile Tester

DATA DONE RIGHT. Applying Agile and XP Concepts. #DataDoneRight

Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft

Certified Agile Software Test Professional (CASTP)

Build your Project using Extreme Programming #2 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.

1.2 Tools support for management of testing & tests

Software quality engineering. Quality assurance. Testing

Unit Testing Scenario and Sample Unit Test Plan

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Benefits of Test Automation for Agile Testing

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

International Journal of Advance Research in Computer Science and Management Studies

SA Tool Kit release life cycle

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

Introduction to Automated Testing

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Adopting Agile Testing

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Introduction to Agile Software Development Process. Software Development Life Cycles

Maximizing the value of good testing practice in an Agile environment. Delivering on time, in scope, on budget and at the right level of quality

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice

Software Quality Testing Course Material

Testing in Scrum Projects

2.1 The RAD life cycle composes of four stages:

Latest Research and Development on Software Testing Techniques and Tools

Software testing. Objectives

Automation testing in Agile projects - Overview Shirly Ronen-Harel Mar 2014

Software Engineering 1

Getting Started With Automated Testing. Michael Kelly

Agile QA Process. Anand Bagmar Version 1.

Agile Tester Foundation Course Outline

Sample Exam Syllabus

How Silk Central brings flexibility to agile development

Datamaker for Skytap. Provide full-sized environments filled with up-to-date test data in minutes

A Comprehensive Approach to Master Data Management Testing

Bridging the Gap Between Acceptance Criteria and Definition of Done

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

ISTQB Agile Tester in a Nutshell ISTQB Marketing Working Group

Aligning Correct and Realistic Performance Testing with the Agile Development Process

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

An Introduction to. Metrics. used during. Software Development

Basic Trends of Modern Software Development

Test-Driven Development and Unit Testing with Parasoft Concerto

THE THREE ASPECTS OF SOFTWARE QUALITY: FUNCTIONAL, STRUCTURAL, AND PROCESS

Plan-Driven Methodologies

Table of contents. Automated testing ROI: fact or fiction? A customer s perspective: What real QA organizations have found.

FSW QA Testing Levels Definitions

Standard for Software Component Testing

Java: Learning to Program with Robots. Chapter 11: Building Quality Software

Advanced Test-Driven Development

Transcription:

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Iteration Advantages: bringing testing into the development life cycle as early as possible ensuring testing continues frequently early identification of defects ensures that the software can be corrected in a timely manner avoiding problems of late delivery and cost overrun Disadvantages: functional tests and regression test suites grow continuously from iteration to iteration -> increasing test load use good test management techniques and test automation

Pair Testing analogous to the practice of pair programming pairing of test resources with developers benefits: testers providing valuable quality assurance input to unit test specification, development and testing ideas. some case studies report measurable improvements in the quality of the delivered code note: avoid the perception by developers that the testers are there as Quality Assurance Police

Involve Test Resources at All Stages Test practitioner is available at all stages of the development life cycle. E.g. Chapter on How to Test a System that is Never Finished: tester was available to directly advise on the testability of any given requirement tester was able to improve the quality of the requirements by highlighting missing, contradictory, or duplicate requirements In parallel with creation of use cases, the tester can also review and agree the suitability of the test case design directly with the customer.

Test-Driven Design and Development Ensuring that developers specify how they will verify that their code has met its requirements and performed correctly - before they write their code - means that the developer gains much greater understanding of the requirement and what the corresponding code needs to do to meet it.

Fix All Defects Immediately Chapter on Agile Testing - Learning from Your Own Mistakes enforces this principle strictly. If defects are detected, development is halted until they are fixed. By using continuous integration techniques plus automated testing, defects are quickly localised to the most recent code change

Continuous Integration used in combination with an automated build tool, and incorporating unit testing, the code can be automatically tested to quickly identify quality issues associated with that unit. one step further: not only automating unit tests but also functional and regression tests, providing very thorough test coverage of the application under development

Test Refactoring Many chapters report benefits from the practice of code refactoring, particularly if conducted in concert with the use of an automatic build tool which can also execute associated automated unit tests. The use of configuration management tools can also be of significant value in code refactoring. Test refactoring: test scripts may be changed for the purposes of making them more efficient and/or more effective, or even remove them from the test suite. Benefits can be gained from using test refactoring on projects where the test suite is very large.

Identify Targets of Test identifying targets of tests is of particular value in large-scale projects involving large volumes of test scripts informal approach is used that is based on the tester s experience, selecting a subset of the overall set of partition test cases. A risk always exist that omitting a test script will have completely unpredictable effects on a seemingly unrelated part of the system.

Code Coverage code coverage metrics may be of value in the process of identifying the targets of test.

Agile Exploratory Testing manual exploratory testing a tester performing the role a skeptical user, creating unusual usage scenario s in order to expose defects that automated tools and methods would be unlikely to uncover!!open-ended exercise!

Rapid Prototyping The generation of simple prototypes prior to the generation of full parts of the system under development can have a number of benefits: helps the developer explore and understand the requirements in detail provides a practical means of verifying the requirements with the customer provides a powerful and effective means of obtaining customer feedback on the functionality, look and feel, and usability of the proposed system.