Agile Testing What is it? Can it work?
 

2010-04-27 来源:网络

 

What is Agile Testing?

1. Testing practice that follows the agile manifesto, treating development as the customer of testing! In this light the context-driven manifesto provides a set of principles for agile testing.

2. Testing practice for projects using agile methodologies. ! What is the role of the tester on an agile project?

Context-Driven Principles

1. The value of any practice depends on its context.

2. There are good practices in context, but there are no best practices.

3. People, working together, are the most important part of any project’s context.

4. Projects unfold over time in ways that are often not predictable.

5. The product is a solution. If the problem isn’t solved, the product doesn’t work.

6. Good software testing is a challenging intellectual process.

7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right
things at the right times to effectively test our products.

Agile Development Methodologies

Extreme Programming (XP)

Crystal

Adaptive Software Development (ASD)

Scrum

Feature Driven Development (FDD)

Dynamic Systems Development Method (DSDM)

XBreed

XP Practices

Test-First Programming

Pair Programming

Short Iterations & Releases

Refactoring

“User Stories"

Acceptance Testing

The Role of Testing

Testing is the headlights of the project

Where are you now? Where do you headed?

Testing provides information to the team

This allows the team to make informed decisions

A “bug” is anything that could bug a user

Testers don’t make the final call

Testing does not assure quality

The team does (or doesn’t)

Testing is not a game of “gotcha”

Find ways to set goals, rather than focus on mistakes

Test-First Programming

Developers write unit tests before coding.

Motivates coding

Improves design (reducing coupling and improving
cohesion)

Supports refactoring

Many open-source test tools have been developed to support this

xUnit

Refactoring: Improving the Design of Existing Code

“Changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure”

Make the simplest design that will work.

Add complexity only when needed. Refactor as necessary.

Refactoring requires unit tests to ensure that design changes (refactorings) don’t break existing code.

Acceptance Testing

User stories are short descriptions of features that need to be coded.

Acceptance tests verify the completion of user stories.

Ideally they are written before coding.

Should Testers Go Along with This?

Some say that XP is an invitation to poor quality and an excuse for hacking.

I think that XP is exciting and will improve the practice of testing in the industry.

XP developers are writing unit tests and unit testing tools

Kent Beck’s next book is Test-Driven Development

XP projects are finding new ways to build in testability and support automated tests.

A Practice for Agile Testing

Conversational Test Creation

Coaching Tests

Providing Test Interfaces

Exploratory Learning

Conversational Test Creation

Who should write tests?

Customers are often too busy.

Defining tests is a key activity that should include programmers and customer representatives.

Don't do it alone.

Coaching Tests

A way of thinking about Acceptance Tests.

Turn user stories into tests.

Tests provide:

Goals and guidance

Instant feedback

Progress measurement

Tests are specified in a format:

That is clear enough that users/customers can understand

That is specific enough that it can be executed

Specification by Example

Providing Test Interfaces

Developers are responsible for providing the fixtures that automate coaching tests

In most cases XP teams are adding test interfaces to their products, rather than using external test tools

Test Interaction Model

Exploratory Learning

Plan to explore the product with eachiteration.

Look for bugs, missing features andopportunities for improvement.

We don’t understand software until we have used it.



LoadRunner性能测试基础
软件测试结果分析和质量报告
面向对象软件测试技术研究
设计测试用例的四条原则
功能测试中故障模型的建立
性能测试综述
更多...   


性能测试方法与技术
测试过程与团队管理
LoadRunner进行性能测试
WEB应用的软件测试
手机软件测试
白盒测试方法与技术


某博彩行业 数据库自动化测试
IT服务商 Web安全测试
IT服务商 自动化测试框架
海航股份 单元测试、重构
测试需求分析与测试用例分析
互联网web测试方法与实践
基于Selenium的Web自动化测试
更多...   
 
 
 
 
 
 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号