Introduction - 219343 Software Testingjtf/219343/lect01_intro.pdf · OutlineThe role of the...

Preview:

Citation preview

Outline The role of the testers Definitions Administration Acceptance test

Introduction219343 Software Testing

Jittat Fakcharoenphol

Kasetsart University

October 31, 2008

Outline The role of the testers Definitions Administration Acceptance test

Outline

1 The role of the testers

2 Definitions

3 Administration

4 Acceptance test

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.”

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.”

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.”

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.”

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.”

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.”

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

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.)

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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

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

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

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

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%)

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.

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.

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.

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.

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.

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.

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

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

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

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.

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.

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?

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.”

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.”

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.”

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.”

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.”

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.”

Outline The role of the testers Definitions Administration Acceptance test

How to write user stories

See Mike Cohn’s presentation

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)

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)

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)

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)

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)

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)

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.

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.

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.

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.

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.

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.

Recommended