1 / 14

Quality assurance of agile software engineering

Quality assurance of agile software engineering. Shipeng Xu. 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. Agile software engineering. Agile manifesto:

andren
Download Presentation

Quality assurance of agile software engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quality assuranceof agile software engineering ShipengXu

  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

  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.

More Related