Presentation is loading. Please wait.

Presentation is loading. Please wait.

Quality assurance of agile software engineering Shipeng Xu.

Similar presentations


Presentation on theme: "Quality assurance of agile software engineering Shipeng Xu."— Presentation transcript:

1 Quality assurance of agile software engineering Shipeng Xu

2 What is quality assurance? – QA refers to the planned and systematic activities implemented in a quality system so that quality requirements for a product or a service will be fulfilled.

3 Agile software engineering Agile manifesto: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

4 Overview How quality is assured in agile software engineering from the process and product perspectives. The practice of test driven development (TDD) and the main issues related to its practice.

5 Some differences between agile and other methods with respect to quality Quality-related aspectThe agile approachSome other approaches Who is responsible for software quality? All the development team members The QA team When are quality-related topics addressed? All of the time; quality is one of the primary concerns of the development process At the QA/testing stage Quality-related activities status Same as other activitiesLow Work styleCollaboration with all parties Developers and QA people might have conflicting interests

6 Process Quality Two characteristics of agile processes: Transparency Project’s ongoing details are highly transparent to all the stakeholders. Tightness The tightness of development rhythm encourages a high quality process.

7 Product Quality Several agile practices ensures the software quality: 1. Refactoring 2. Pair programming 3. Acceptance tests 4. Test-Driven Development (TDD)

8 Test-Driven Development – A technique that enables a step-by-step development of a specific functionality together with its unit test, when each step of the test precedes the respective step of code.

9 TDD helps to overcome some traditional testing problems: Not enough time to test Testing provides negative feedback Responsibility for testing is transferred Testing is a low-status job Testing is hard

10 Shortcomings of TDD Fails when full functional tests required Management support is essential Unit tests share blind spots with the code False sense of security=>less testing activities, such as integration testing

11 Difficulties in implementing TDD Increases time to write code Work is delayed because of relatively simple item It is hard to identify the critical cases It is not suitable for every kind of task It is a waste of time if the code is not used later

12 One reason for the difficulties in applying TDD Like other processes that must be measured, disciplined and controlled, TDD processes should also be measured and controlled Solution: Measured TDD

13 Recap How quality is assured in agile software engineering from the process and product perspectives. The practice of test driven development (TDD) and the main issues related to its practice.

14 Reference: Hazzan, Orit, and Dubinsky Yael. Agile Software Engineering. London: Springer-Verlag London Limited, 2008.


Download ppt "Quality assurance of agile software engineering Shipeng Xu."

Similar presentations


Ads by Google