Upload
others
View
4
Download
0
Embed Size (px)
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.