63
Outline The role of the testers Definitions Administration Acceptance test Introduction 219343 Software Testing Jittat Fakcharoenphol Kasetsart University October 31, 2008

Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Introduction219343 Software Testing

Jittat Fakcharoenphol

Kasetsart University

October 31, 2008

Page 2: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Outline

1 The role of the testers

2 Definitions

3 Administration

4 Acceptance test

Page 3: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

About the name

Official name: Software Verification and Validation

Validation: Are we building the right product?Verification: Are we building the product right?

We shall employ various techniques to try to get bothobjectives.

Although we will not only do software testing, but testing (inmany forms) fills up most of the course materials.

Therefore, it’s not bad to be specific. So we’ll call our course“Software Testing.”

Page 4: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

About the name

Official name: Software Verification and Validation

Validation: Are we building the right product?

Verification: Are we building the product right?

We shall employ various techniques to try to get bothobjectives.

Although we will not only do software testing, but testing (inmany forms) fills up most of the course materials.

Therefore, it’s not bad to be specific. So we’ll call our course“Software Testing.”

Page 5: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

About the name

Official name: Software Verification and Validation

Validation: Are we building the right product?Verification: Are we building the product right?

We shall employ various techniques to try to get bothobjectives.

Although we will not only do software testing, but testing (inmany forms) fills up most of the course materials.

Therefore, it’s not bad to be specific. So we’ll call our course“Software Testing.”

Page 6: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

About the name

Official name: Software Verification and Validation

Validation: Are we building the right product?Verification: Are we building the product right?

We shall employ various techniques to try to get bothobjectives.

Although we will not only do software testing, but testing (inmany forms) fills up most of the course materials.

Therefore, it’s not bad to be specific. So we’ll call our course“Software Testing.”

Page 7: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

About the name

Official name: Software Verification and Validation

Validation: Are we building the right product?Verification: Are we building the product right?

We shall employ various techniques to try to get bothobjectives.

Although we will not only do software testing, but testing (inmany forms) fills up most of the course materials.

Therefore, it’s not bad to be specific. So we’ll call our course“Software Testing.”

Page 8: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

About the name

Official name: Software Verification and Validation

Validation: Are we building the right product?Verification: Are we building the product right?

We shall employ various techniques to try to get bothobjectives.

Although we will not only do software testing, but testing (inmany forms) fills up most of the course materials.

Therefore, it’s not bad to be specific. So we’ll call our course“Software Testing.”

Page 9: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

What does testing mean?

In fact, what testing means depends on your role in softwaredevelopment.

You might be

Software developerSoftware testerSoftware architectProject manager

Page 10: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Your experience

Let’s hear some of your experience.

Group discussion: 3-4 people per group

Suggested topics:

Have you ever done software testing?How long does the process take?Find all bugs?The most crazy/stupid/exciting/devastating bug you everfound.Do you like the process?

(Two groups to talk to the class.)

Page 11: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Testing and the software development process

Two main approaches.

Tester testing (testing done by a separate group of testers)Developer testing (testing done by programmers)

Very important for most agile processes.Agile team needs tester as well.

We try to focus on both approaches.

They share a lot of mind-sets and practices.

Page 12: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Testing and the software development process

Two main approaches.

Tester testing (testing done by a separate group of testers)Developer testing (testing done by programmers)

Very important for most agile processes.

Agile team needs tester as well.

We try to focus on both approaches.

They share a lot of mind-sets and practices.

Page 13: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Testing and the software development process

Two main approaches.

Tester testing (testing done by a separate group of testers)Developer testing (testing done by programmers)

Very important for most agile processes.Agile team needs tester as well.

We try to focus on both approaches.

They share a lot of mind-sets and practices.

Page 14: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Testing and the software development process

Two main approaches.

Tester testing (testing done by a separate group of testers)Developer testing (testing done by programmers)

Very important for most agile processes.Agile team needs tester as well.

We try to focus on both approaches.

They share a lot of mind-sets and practices.

Page 15: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

“You are the headlights of the project”1

Whatever approach you’re using, the common purpose oftesting is to give feedback.

Feedback gives you confident.

Optimistic thinking is the root of all failure.

1Lesson 1 in Kaner, Bach, Pettichord, Lessons Learned in Software Testing,2002.

Page 16: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

“You are the headlights of the project”1

Whatever approach you’re using, the common purpose oftesting is to give feedback.

Feedback gives you confident.

Optimistic thinking is the root of all failure.

1Lesson 1 in Kaner, Bach, Pettichord, Lessons Learned in Software Testing,2002.

Page 17: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

“You are the headlights of the project”1

Whatever approach you’re using, the common purpose oftesting is to give feedback.

Feedback gives you confident.

Optimistic thinking is the root of all failure.

1Lesson 1 in Kaner, Bach, Pettichord, Lessons Learned in Software Testing,2002.

Page 18: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Possible feedback

You may wonder:

Does this code work?

Is the design okay?Is the software usable?Does the software meet the user expectation?Does our requirement spec. cover everything the user want?Is it going to be fast enough?

Don’t just wish that the answers to all these questions are’yes’.

Go ahead and perform testing.

Page 19: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Possible feedback

You may wonder:

Does this code work?Is the design okay?

Is the software usable?Does the software meet the user expectation?Does our requirement spec. cover everything the user want?Is it going to be fast enough?

Don’t just wish that the answers to all these questions are’yes’.

Go ahead and perform testing.

Page 20: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Possible feedback

You may wonder:

Does this code work?Is the design okay?Is the software usable?

Does the software meet the user expectation?Does our requirement spec. cover everything the user want?Is it going to be fast enough?

Don’t just wish that the answers to all these questions are’yes’.

Go ahead and perform testing.

Page 21: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Possible feedback

You may wonder:

Does this code work?Is the design okay?Is the software usable?Does the software meet the user expectation?

Does our requirement spec. cover everything the user want?Is it going to be fast enough?

Don’t just wish that the answers to all these questions are’yes’.

Go ahead and perform testing.

Page 22: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Possible feedback

You may wonder:

Does this code work?Is the design okay?Is the software usable?Does the software meet the user expectation?Does our requirement spec. cover everything the user want?

Is it going to be fast enough?

Don’t just wish that the answers to all these questions are’yes’.

Go ahead and perform testing.

Page 23: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Possible feedback

You may wonder:

Does this code work?Is the design okay?Is the software usable?Does the software meet the user expectation?Does our requirement spec. cover everything the user want?Is it going to be fast enough?

Don’t just wish that the answers to all these questions are’yes’.

Go ahead and perform testing.

Page 24: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Possible feedback

You may wonder:

Does this code work?Is the design okay?Is the software usable?Does the software meet the user expectation?Does our requirement spec. cover everything the user want?Is it going to be fast enough?

Don’t just wish that the answers to all these questions are’yes’.

Go ahead and perform testing.

Page 25: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

What is software testing?

“The process consisting of all life cycle activities, both static anddynamic, concerned with planning, preparation and evaluation ofsoftware products and related work products to determine thatthey satisfy specified requirements, to demonstrate that they are fitfor the purpose and to detect defects”2

2from ISTQB Glossary of Testing Terms, URL:http://www.istqb.org/downloads/glossary-current.pdf

Page 26: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Testing is a process

Testing is not just one standalone activity, but it consists ofmany activities.

It occurs throughout the development process. How you testdepends on how you develop the software.

The testing process must be aligned with the developmentprocess.It must be part of the process.

Page 27: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Testing is a process

Testing is not just one standalone activity, but it consists ofmany activities.

It occurs throughout the development process. How you testdepends on how you develop the software.

The testing process must be aligned with the developmentprocess.It must be part of the process.

Page 28: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Many kinds of testing

Running the software?: Static/Dynamic

Levels: Unit/Integration/System/Acceptance

What to test?: Functional/Non-functional

How?: Automated/Manual

Page 29: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Many kinds of testing

Running the software?: Static/Dynamic

Levels: Unit/Integration/System/Acceptance

What to test?: Functional/Non-functional

How?: Automated/Manual

Page 30: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Many kinds of testing

Running the software?: Static/Dynamic

Levels: Unit/Integration/System/Acceptance

What to test?: Functional/Non-functional

How?: Automated/Manual

Page 31: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Many kinds of testing

Running the software?: Static/Dynamic

Levels: Unit/Integration/System/Acceptance

What to test?: Functional/Non-functional

How?: Automated/Manual

Page 32: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Administrative information

Course homepage:http://www.cpe.ku.ac.th/˜jtf/219343

Workload:

2 projects: 1 tiny (15%), 1 small (15%)Homework (10%)1 midterm (25%), 1 final (25%)

Page 33: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Projects

We need something to test.

We need to develop something so that we can test throughoutits life cycle.

Why 2 projects?

The 1st project is a simple Java app (console or simple GUI).It must be easy enough so that we learn how to test it at everylevel.The 2nd project is a web-based or a rich GUI app. With it,we’ll learn how to apply what we learn to bigger(closer-to-real-world) projects.Both will be team projects.

Page 34: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Projects

We need something to test.

We need to develop something so that we can test throughoutits life cycle.

Why 2 projects?

The 1st project is a simple Java app (console or simple GUI).It must be easy enough so that we learn how to test it at everylevel.The 2nd project is a web-based or a rich GUI app. With it,we’ll learn how to apply what we learn to bigger(closer-to-real-world) projects.Both will be team projects.

Page 35: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Projects

We need something to test.

We need to develop something so that we can test throughoutits life cycle.

Why 2 projects?

The 1st project is a simple Java app (console or simple GUI).It must be easy enough so that we learn how to test it at everylevel.The 2nd project is a web-based or a rich GUI app. With it,we’ll learn how to apply what we learn to bigger(closer-to-real-world) projects.Both will be team projects.

Page 36: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Projects

We need something to test.

We need to develop something so that we can test throughoutits life cycle.

Why 2 projects?

The 1st project is a simple Java app (console or simple GUI).It must be easy enough so that we learn how to test it at everylevel.

The 2nd project is a web-based or a rich GUI app. With it,we’ll learn how to apply what we learn to bigger(closer-to-real-world) projects.Both will be team projects.

Page 37: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Projects

We need something to test.

We need to develop something so that we can test throughoutits life cycle.

Why 2 projects?

The 1st project is a simple Java app (console or simple GUI).It must be easy enough so that we learn how to test it at everylevel.The 2nd project is a web-based or a rich GUI app. With it,we’ll learn how to apply what we learn to bigger(closer-to-real-world) projects.

Both will be team projects.

Page 38: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Projects

We need something to test.

We need to develop something so that we can test throughoutits life cycle.

Why 2 projects?

The 1st project is a simple Java app (console or simple GUI).It must be easy enough so that we learn how to test it at everylevel.The 2nd project is a web-based or a rich GUI app. With it,we’ll learn how to apply what we learn to bigger(closer-to-real-world) projects.Both will be team projects.

Page 39: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Acceptance test

Let’s do something to practice tester skills.

What kinds of skills?

Mainly, questioning: trying to gather information

Page 40: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Acceptance test

Let’s do something to practice tester skills.

What kinds of skills?

Mainly, questioning: trying to gather information

Page 41: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Acceptance test

Let’s do something to practice tester skills.

What kinds of skills?

Mainly, questioning: trying to gather information

Page 42: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

You are the user

We’ll try to get some requirement of a system that you’refamiliar with.

The on-line registration system.

Page 43: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

You are the user

We’ll try to get some requirement of a system that you’refamiliar with.

The on-line registration system.

Page 44: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Discussion: topic guide

Why do you want an on-line registration system? What is thevalue of the system?

Who are the users? Are there many kinds of users?

What do they want from the system?

Page 45: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Developing requirement: the XP way

Since we don’t have much time, developing completerequirement in class is impossible.

We shall write user stories.

Each user story describes who does what and why.Written as a short sentence (or paragraph) on cards.User stories are not a complete requirement, but “a promiseof a future conversation” between developer and thecustomer.

Example: “As a student I want to view the list of all coursesin my degree program offered in this semester so that I canchoose which classes to enroll.”

Page 46: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Developing requirement: the XP way

Since we don’t have much time, developing completerequirement in class is impossible.

We shall write user stories.

Each user story describes who does what and why.Written as a short sentence (or paragraph) on cards.User stories are not a complete requirement, but “a promiseof a future conversation” between developer and thecustomer.

Example: “As a student I want to view the list of all coursesin my degree program offered in this semester so that I canchoose which classes to enroll.”

Page 47: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Developing requirement: the XP way

Since we don’t have much time, developing completerequirement in class is impossible.

We shall write user stories.

Each user story describes who does what and why.

Written as a short sentence (or paragraph) on cards.User stories are not a complete requirement, but “a promiseof a future conversation” between developer and thecustomer.

Example: “As a student I want to view the list of all coursesin my degree program offered in this semester so that I canchoose which classes to enroll.”

Page 48: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Developing requirement: the XP way

Since we don’t have much time, developing completerequirement in class is impossible.

We shall write user stories.

Each user story describes who does what and why.Written as a short sentence (or paragraph) on cards.

User stories are not a complete requirement, but “a promiseof a future conversation” between developer and thecustomer.

Example: “As a student I want to view the list of all coursesin my degree program offered in this semester so that I canchoose which classes to enroll.”

Page 49: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Developing requirement: the XP way

Since we don’t have much time, developing completerequirement in class is impossible.

We shall write user stories.

Each user story describes who does what and why.Written as a short sentence (or paragraph) on cards.User stories are not a complete requirement, but “a promiseof a future conversation” between developer and thecustomer.

Example: “As a student I want to view the list of all coursesin my degree program offered in this semester so that I canchoose which classes to enroll.”

Page 50: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Developing requirement: the XP way

Since we don’t have much time, developing completerequirement in class is impossible.

We shall write user stories.

Each user story describes who does what and why.Written as a short sentence (or paragraph) on cards.User stories are not a complete requirement, but “a promiseof a future conversation” between developer and thecustomer.

Example: “As a student I want to view the list of all coursesin my degree program offered in this semester so that I canchoose which classes to enroll.”

Page 51: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

How to write user stories

See Mike Cohn’s presentation

Page 52: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

XP’s acceptance test

Again, feedback is extremely important.

How can you demonstrate that your software has “correctly”implemented a user story?

For each user story, the customer provides an acceptance test.

Written by the customer (together with the team).Focus on business rulesShall be turned to automated test (by tester)

Page 53: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

XP’s acceptance test

Again, feedback is extremely important.

How can you demonstrate that your software has “correctly”implemented a user story?

For each user story, the customer provides an acceptance test.

Written by the customer (together with the team).Focus on business rulesShall be turned to automated test (by tester)

Page 54: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

XP’s acceptance test

Again, feedback is extremely important.

How can you demonstrate that your software has “correctly”implemented a user story?

For each user story, the customer provides an acceptance test.

Written by the customer (together with the team).Focus on business rulesShall be turned to automated test (by tester)

Page 55: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

XP’s acceptance test

Again, feedback is extremely important.

How can you demonstrate that your software has “correctly”implemented a user story?

For each user story, the customer provides an acceptance test.

Written by the customer (together with the team).

Focus on business rulesShall be turned to automated test (by tester)

Page 56: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

XP’s acceptance test

Again, feedback is extremely important.

How can you demonstrate that your software has “correctly”implemented a user story?

For each user story, the customer provides an acceptance test.

Written by the customer (together with the team).Focus on business rules

Shall be turned to automated test (by tester)

Page 57: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

XP’s acceptance test

Again, feedback is extremely important.

How can you demonstrate that your software has “correctly”implemented a user story?

For each user story, the customer provides an acceptance test.

Written by the customer (together with the team).Focus on business rulesShall be turned to automated test (by tester)

Page 58: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Example

User story: “As a student I want to view the list of allcourses in my degree program offered in this semester so thatI can choose which classes to enroll.”

Acceptance Test:Verify that after John who is in SKE major logs in, he can seethe list of courses in his program.

Question: all courses? including course John has alreadytaken?

Question: how about first year students with no major?

Show all courses

Verify that after James who is a freshman currently with nomajor logs in and asks to see courses in his program, thesystem show all courses offered in that semester.

Page 59: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Example

User story: “As a student I want to view the list of allcourses in my degree program offered in this semester so thatI can choose which classes to enroll.”

Acceptance Test:Verify that after John who is in SKE major logs in, he can seethe list of courses in his program.

Question: all courses? including course John has alreadytaken?

Question: how about first year students with no major?

Show all courses

Verify that after James who is a freshman currently with nomajor logs in and asks to see courses in his program, thesystem show all courses offered in that semester.

Page 60: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Example

User story: “As a student I want to view the list of allcourses in my degree program offered in this semester so thatI can choose which classes to enroll.”

Acceptance Test:Verify that after John who is in SKE major logs in, he can seethe list of courses in his program.

Question: all courses? including course John has alreadytaken?

Question: how about first year students with no major?

Show all courses

Verify that after James who is a freshman currently with nomajor logs in and asks to see courses in his program, thesystem show all courses offered in that semester.

Page 61: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Example

User story: “As a student I want to view the list of allcourses in my degree program offered in this semester so thatI can choose which classes to enroll.”

Acceptance Test:Verify that after John who is in SKE major logs in, he can seethe list of courses in his program.

Question: all courses? including course John has alreadytaken?

Question: how about first year students with no major?

Show all courses

Verify that after James who is a freshman currently with nomajor logs in and asks to see courses in his program, thesystem show all courses offered in that semester.

Page 62: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Example

User story: “As a student I want to view the list of allcourses in my degree program offered in this semester so thatI can choose which classes to enroll.”

Acceptance Test:Verify that after John who is in SKE major logs in, he can seethe list of courses in his program.

Question: all courses? including course John has alreadytaken?

Question: how about first year students with no major?

Show all courses

Verify that after James who is a freshman currently with nomajor logs in and asks to see courses in his program, thesystem show all courses offered in that semester.

Page 63: Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the testersDe nitionsAdministrationAcceptance test Introduction 219343 Software Testing Jittat

Outline The role of the testers Definitions Administration Acceptance test

Example

User story: “As a student I want to view the list of allcourses in my degree program offered in this semester so thatI can choose which classes to enroll.”

Acceptance Test:Verify that after John who is in SKE major logs in, he can seethe list of courses in his program.

Question: all courses? including course John has alreadytaken?

Question: how about first year students with no major?

Show all courses

Verify that after James who is a freshman currently with nomajor logs in and asks to see courses in his program, thesystem show all courses offered in that semester.