SlideShare a Scribd company logo
Basic
Software Testing
Guide for starting of tester career
SAND 2014
Implementation
Project Management
Solution Integrator E2E Tester
Technical Support
Product
Owner QA Eng.
PA
Project Deployment
Consultant
Tier-1 24x7
V-Model (software development)
Tier-2 8x5
Tier-3 8x5
#1
#2
#3
#4
#5
#6
#7
Agenda
1. Software testing WHAT & WHY ?
2. Fundamentals
3. Requirement traceability matrix
4. Test Estimation & Planning
5. Test Cases, Scripts, Data
6. Test Execution
7. Classic Testing Mistake
8. Improvement
9. Workshop
Software testing
WHAT & WHY?
WHAT IS SOFTWARE TESTING?
• Software testing is a process of verifying and
validating that a software application or program
–1. Meets the business and technical requirements
that guided its design and development
–2. Works as expected.
• Software testing also identifies important defects,
flaws, or errors in the application code that must
be fixed.
WHY DO SOFTWARE TESTING?
• Software testing is focused on
finding defects in the final product.
• Software testing answers
questions that development
testing and code reviews can’t.
Purpose of Testing
• Verification
• Validation
• Defect finding
Cost of fixing a defect
Testing skills and knowledge
Test knowledge
▪ test principles
▪ techniques
▪ tools, etc.
IT knowledge
▪ software development
▪ requirements
▪ configuration management
Domain knowledge
▪ business process
▪ user characteristics
Soft skills
▪ communication
▪ critical mind-set
▪ presentation and reporting
Fundamentals
Testing Principles
• All tests should be traceable to customer
requirements
• Tests should be planned long before testing
begins
• Testing should begin “in the small” and progress
toward testing “in the large”
• To be most effective, testing should be conducted
by an independent third party
Test Approach
• Black box testing (Internals NOT known)
• White box testing (Internals Fully known)
• Grey box testing (Internals Relevant to testing
known)
Black-box testing
Aims of Black Box Testing
• Find
– Incorrect or missing functionality
– Interface errors
– Errors in data structures used by interfaces
– Behaviour or performance errors
– Initialization and termination errors
White-box testing
Aims of White Box Testing
• Internal security holes
• The flow of specific inputs through the
code
• Expected output
• The functionality of conditional loops
• Testing of each statement, object and
function on an individual basis
Grey-box testing
Aims of Grey Box Testing
• Combination of Black & White box testing
• Search for improper usage of application
• Search for improper structure
• Tester can handle intelligent test scenario
for example, data type handling,
communication protocol
Methodologies
• Boundary testing
• Equivalence classes
• Decision tables
• State transitional diagrams
• Risk Analysis
Boundary testing
Equivalence classes
Decision tables
State transitional diagrams
Risk Analysis
Types of Testing
• Unit Testing
• Functional Testing
• System Integration Testing
• User Acceptance Testing (UAT)
• Regression Testing
• Beta Testing
Summary
Testing Type Specification General Scope Approach Who generally
does it?
Unit Low-Level Design Actual Code Structure
Small unit of code no larger
than a class
White Box Programmer who
wrote code
Functional High Level Design Whole product Black Box Independent
tester
System Requirements
Analysis
Whole product In
representative
Environments
Black Box Independent
tester
User
Acceptance
Requirements
Analysis
Whole product
in customer’s Environment
Black Box Customer
Beta Ad hoc Whole product
in customer’s Environment
Black box Customer
Regression Changed
Documentation
High-Level Design
Any of the above Black Box
White Box
Programmer(s)
or independent
testers
Testing Processes
Requirements
Traceability
Matrix
Traceability matrix (example)
Requirement ID Requirement description TC
001(user
login)
TC 002
(add
user)
TC 003
(delete
user)
SR-1.1 User should be able to login
using LDAP user
x
SR-1.2 User should be able to see error
message when fail to login
x
SR-1.3 Admin user should be able to
add user on admin page
x
SR-1.4 Admin user can not add
duplicate user on admin page
x
SR-1.5 ….. x x
SR-1.6 ………. x
SR-1.7 ………… x
Benefits of using Traceability Matrix
• To make sure that all requirements included in
the test cases
• To make sure that developers are not creating
features that no one has requested
• Easy to identify the missing functionalities.
Testing without Requirements
• Tester must do the following tasks at the same time
– get clarifications, understand the product's features,
document test cases and testing
• It is better to create checklist
– All the tests to be conducted.
– Proper sequence in which to execute the test cases. The
correct flow will help to focus the thinking of tester at the
time of execution of test cases.
• Testing Approach
– Ad hoc Testing
– Exploratory Testing
Source: http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=ART&ObjectId=6443
Test Estimation
& Planning
Estimation for Testing
• Questions to be asked
– Requirements finalized. If not, frequency of change
– Types of Testing
– Test Assets & Team are available and clear
– Assumptions/Risks
Test Planning
• Test Plan
• Test Procedure
• Test Report
Test cases,
scripts, data
Test Case
Test Cases Contents
• Purpose
• Pre-condition
• Test Data
• Action
• Expected response
• Comment
• Post Condition
Sample test case
Test Data
• Test data can be said. to be ideal if for the minimum size
of data set all the application errors get identified
• Prepare test data that will incorporate all application
functionality, but not exceeding cost and time constraint
for preparing test data and running tests
• Poorly designed testing data may not test all possible
test scenarios which will hamper the quality of the
software.
• Good test data will help us;
– Rely on the result of testing
– Reduce the testing schedule and effort
Test execution
Test Execution
• Execute the test cases
• Logging Defects
• Re-execute test cases after every change
– Automate as much as possible for instance, after each refactoring
• Regression testing
– Testing that everything that used to work still works after
changes are made to the system
– rerunning test cases from existing test suites to build confidence
that software changes have no unintended side-effects
Sample Test Results
Defect flow
What if there isn’t enough time for testing?
Classic testing
mistakes
Classic testing mistakes
• The developer should not be testing at all
– Test before you code
• Testers get only involved once software is done
– Testers should be involve since project start
• Toss the software over the wall for testing
– Testers and developers collaborate in developing
the test suite
• Testing team is responsible for assuring quality
– Quality is assured by a good software process
Improvement
Become a Better Tester
• Test for quality over quantity
• Practice and improve
• Learn from your own mistakes and from others too
• Be objective and professional
• Don’t be humble with software… think out of the box
• Question. Everything
• Think like the user
• Increase the effectiveness of bug reports
• Be Passionate!
Personal attributes of highly effective
testing professionals
• Curiosity
• Cautious
• Good work ethic
• Desire to make a difference
• Discipline
• Quality focus and orientation
• Personal organization
• Quick learner
• Desire to share information
• Communication skills
• Team player
Achieve in S/W Testing
•Keep your eye open
•Avoid the work and relax, you may miss some bugs
•Look at the application in the negative way, you
will always find the bugs.
•Bugs are in many places, don’t skip your testing.
Client does not know a defect is small or big.
•Think of the persons who use the application,
define scenarios (Test cases) and execute them
Defect Management
• Thorough understanding
• Adhere to processes
• Verify defects before distribute
• Capture Screenshot and steps
• Raise every bugs in the defect tracking tool
• Always use the facts
• Keep track of impact of bugs and associate to the risks
• Some defects may not resolve, prepare for these
• Never close the defects because of your feeling or not
finding by developer
Workshop
Workshop1 : ประโยคด ้านล่างถูกหรือผิด (True/False)
B. ก่อนที่กระบวนการ Test จะเริ่มขึ้น ต ้องรอให ้ Software พัฒนา
เสร็จเรียบร ้อยก่อน
A. การทา Unit Testing อยู่ในขั้นตอนการ Develop Software
(Construction Phase)
C. การ Develop และการ Test ควรทาโดยบุคคลคนเดียวกัน
D. การทา Software ต ้องมีกระบวนการ Test เข ้ามาเกี่ยวข ้องเสมอ
Workshop2 : จับคู่ข ้อมูลที่สัมพันธ์กัน
ความหมาย คาที่เกี่ยวข้อง
1 เลือกตัวแทนของข ้อมูลในแต่ละกลุ่มมาทดสอบ Testing from formal specifications
2 การทา Test Case จะเลือกค่าขอบบน และขอบ
ล่างของชุดข ้อมูล
Equivalence Partitioning
3 พิจารณาทุก ๆ ค่าที่เป็นไปได ้ของข ้อมูลที่จะ
inputs, actions และ outputs ที่จะได ้
Finite state machine-based
4 การทดสอบที่ครอบคลุมเรื่อง Transition Boundary value analysis
5 สิ่งที่ใช ้ในการการันตีว่า Software ถูกต ้อง Decision Table
Workshop3 : คิดจานวน Test Case แบบ Equivalence
Partitioning
ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร
ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน
Test Case แบบ Equivalence ทั้งหมดเท่าไหร่
A. 15
B. 3
C. 6
D. 5
Workshop4 : คิดจานวน Test Case แบบ Boundary
value analysis
ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร
ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน
Test Case แบบ Boundary ทั้งหมดเท่าไหร่
A. 15
B. 3
C. 6
D. 5
Workshop5 : คิด Test Case แบบ White box ได ้กี่แบบ
จาก Flow ด ้านล่าง ถ ้าต ้องการทดสอบ White box Testing จะมี
จานวน Test Case อย่างน้อยกี่ Test Case
A. 3
B. 4
C. 5
D. 6
Answer
Answer1 : ประโยคด ้านล่างถูกหรือผิด (True/False)
A. การทา Unit Testing อยู่ในขั้นตอนการ Develop Software
(Construction Phase) True
B. ก่อนที่กระบวนการ Test จะเริ่มขึ้น ต ้องรอให ้ Software พัฒนาเสร็จ
เรียบร ้อยก่อน False
C. การ Develop และการ Test ควรทาโดยบุคคลคนเดียวกัน False
D. การทา Software ต ้องมีกระบวนการ Test เข ้ามาเกี่ยวข ้องเสมอ
True
Answer2 : จับคู่ข ้อมูลที่สัมพันธ์กัน
ความหมาย คาที่เกี่ยวข้อง
1 เลือกตัวแทนของข ้อมูลในแต่ละกลุ่มมาทดสอบ Equivalence Partitioning
2 การทา Test Case จะเลือกค่าขอบบน และขอบ
ล่างของชุดข ้อมูล
Boundary value analysis
3 พิจารณาทุก ๆ ค่าที่เป็นไปได ้ของข ้อมูลที่จะ
inputs, actions และ outputs ที่จะได ้
Decision Table
4 การทดสอบที่ครอบคลุมเรื่อง Transition Finite state machine-based
5 สิ่งที่ใช ้ในการการันตีว่า Software ถูกต ้อง Testing from formal specifications
Answer3 : คิดจานวน Test Case แบบ Equivalence
Partitioning
ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร
ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน
Test Case แบบ Equivalence ทั้งหมดเท่าไหร่
A. 15
B. 3
C. 6
D. 5
Answer4 : คิดจานวน Test Case แบบ Boundary
value analysis
ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร
ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน
Test Case แบบ Boundary ทั้งหมดเท่าไหร่
A. 15
B. 3
C. 6
D. 5
Answer5 : คิด Test Case แบบ White box ได ้กี่แบบ
จาก Flow ด ้านล่าง ถ ้าต ้องการทดสอบ White box Testing จะมี
จานวน Test Case อย่างน้อยกี่ Test Case
A. 3
B. 4
C. 5
D. 6
L-node+2 = 10-8+2 = 4
Basic software testing v2.20

More Related Content

What's hot

Abscisic acid
Abscisic acidAbscisic acid
Abscisic acid
ssuserd57d5f
 
ใบงานเทคโนโลยีสารสนเทศ ม.2
ใบงานเทคโนโลยีสารสนเทศ ม.2ใบงานเทคโนโลยีสารสนเทศ ม.2
ใบงานเทคโนโลยีสารสนเทศ ม.2Thawatchai Rustanawan
 
สังคมก้มหน้า
สังคมก้มหน้าสังคมก้มหน้า
สังคมก้มหน้า
Muna Bap
 
Tailieu.vncty.com webmail
Tailieu.vncty.com   webmailTailieu.vncty.com   webmail
Tailieu.vncty.com webmail
Trần Đức Anh
 
Principle of marketing
Principle of marketingPrinciple of marketing
Principle of marketing
Saijai Yosprayoon
 
พรบ.คอมพิวเตอร์ 2560
พรบ.คอมพิวเตอร์ 2560พรบ.คอมพิวเตอร์ 2560
พรบ.คอมพิวเตอร์ 2560
Benya Chaiwan
 
เทคโนโลย ทางการแพทย์
เทคโนโลย ทางการแพทย์เทคโนโลย ทางการแพทย์
เทคโนโลย ทางการแพทย์Aimmy_13
 
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
https://www.facebook.com/garmentspace
 
บทพากย์เอราวัณ
บทพากย์เอราวัณบทพากย์เอราวัณ
บทพากย์เอราวัณ
Kornnicha Wonglai
 
ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5krunuy5
 
แผนการจัดกิจกรรมการเรียนรู้ Cbi
แผนการจัดกิจกรรมการเรียนรู้ Cbiแผนการจัดกิจกรรมการเรียนรู้ Cbi
แผนการจัดกิจกรรมการเรียนรู้ Cbi
Wanida Keawprompakdee
 
เค้าโครงวิจัยในชั้นเรียน
เค้าโครงวิจัยในชั้นเรียนเค้าโครงวิจัยในชั้นเรียน
เค้าโครงวิจัยในชั้นเรียนphysical04
 
Mind Map : โครงงานคอมพิวเตอร์
Mind Map : โครงงานคอมพิวเตอร์ Mind Map : โครงงานคอมพิวเตอร์
Mind Map : โครงงานคอมพิวเตอร์
Visaitus Palasak
 
ฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันไดฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันได
Y'Yuyee Raksaya
 
026โอวาท3ไตรสิกขา
026โอวาท3ไตรสิกขา026โอวาท3ไตรสิกขา
026โอวาท3ไตรสิกขา
niralai
 

What's hot (20)

Abscisic acid
Abscisic acidAbscisic acid
Abscisic acid
 
ใบงานเทคโนโลยีสารสนเทศ ม.2
ใบงานเทคโนโลยีสารสนเทศ ม.2ใบงานเทคโนโลยีสารสนเทศ ม.2
ใบงานเทคโนโลยีสารสนเทศ ม.2
 
สังคมก้มหน้า
สังคมก้มหน้าสังคมก้มหน้า
สังคมก้มหน้า
 
Array 2
Array 2Array 2
Array 2
 
Tailieu.vncty.com webmail
Tailieu.vncty.com   webmailTailieu.vncty.com   webmail
Tailieu.vncty.com webmail
 
Principle of marketing
Principle of marketingPrinciple of marketing
Principle of marketing
 
Function
FunctionFunction
Function
 
ความคล้าย
ความคล้ายความคล้าย
ความคล้าย
 
Bai1
Bai1Bai1
Bai1
 
พรบ.คอมพิวเตอร์ 2560
พรบ.คอมพิวเตอร์ 2560พรบ.คอมพิวเตอร์ 2560
พรบ.คอมพิวเตอร์ 2560
 
โวหารการเขียน
โวหารการเขียนโวหารการเขียน
โวหารการเขียน
 
เทคโนโลย ทางการแพทย์
เทคโนโลย ทางการแพทย์เทคโนโลย ทางการแพทย์
เทคโนโลย ทางการแพทย์
 
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
Luận án tiến sĩ toán học nghiên cứu, phát triển các kỹ thuật tự động tóm tắt ...
 
บทพากย์เอราวัณ
บทพากย์เอราวัณบทพากย์เอราวัณ
บทพากย์เอราวัณ
 
ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5ชั้นประถมศึกษาปีที่ 5
ชั้นประถมศึกษาปีที่ 5
 
แผนการจัดกิจกรรมการเรียนรู้ Cbi
แผนการจัดกิจกรรมการเรียนรู้ Cbiแผนการจัดกิจกรรมการเรียนรู้ Cbi
แผนการจัดกิจกรรมการเรียนรู้ Cbi
 
เค้าโครงวิจัยในชั้นเรียน
เค้าโครงวิจัยในชั้นเรียนเค้าโครงวิจัยในชั้นเรียน
เค้าโครงวิจัยในชั้นเรียน
 
Mind Map : โครงงานคอมพิวเตอร์
Mind Map : โครงงานคอมพิวเตอร์ Mind Map : โครงงานคอมพิวเตอร์
Mind Map : โครงงานคอมพิวเตอร์
 
ฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันไดฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันได
 
026โอวาท3ไตรสิกขา
026โอวาท3ไตรสิกขา026โอวาท3ไตรสิกขา
026โอวาท3ไตรสิกขา
 

Viewers also liked

Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
Krishna Sujeer
 
Iwsm2014 mispredicting software reliability (rakesh rana)
Iwsm2014   mispredicting software reliability (rakesh rana)Iwsm2014   mispredicting software reliability (rakesh rana)
Iwsm2014 mispredicting software reliability (rakesh rana)
Nesma
 
Project ii v.2.0
Project ii v.2.0Project ii v.2.0
Project ii v.2.0
Sufarwee Dunyamat
 
Deliverable 3
Deliverable 3Deliverable 3
Deliverable 3
Devan Clements
 
Project management
Project managementProject management
Project management
Sameer Kumar
 
Animated presentation
Animated presentationAnimated presentation
Animated presentation
fujiwura kawakami
 
A Load Of Bollards
A Load Of BollardsA Load Of Bollards
A Load Of Bollards
Matt Larsen-Daw
 
Lec no. 4 hardware and software basic
Lec no. 4 hardware and software basicLec no. 4 hardware and software basic
Lec no. 4 hardware and software basic
Jiian Francisco
 
Starting your Startup
Starting your StartupStarting your Startup
Starting your Startup
Joe Stump
 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test cases
Confiz
 
Crating an Awesome Brand
Crating an Awesome Brand Crating an Awesome Brand
Crating an Awesome Brand
CityStarters
 
Vtoc, Use Case, Activity Diagram
Vtoc, Use Case, Activity DiagramVtoc, Use Case, Activity Diagram
Vtoc, Use Case, Activity Diagram
New Era University
 
BUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPS
BUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPSBUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPS
BUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPS
Rod King, Ph.D.
 
16. Computer Systems Basic Software 2
16. Computer Systems   Basic Software 216. Computer Systems   Basic Software 2
16. Computer Systems Basic Software 2
New Era University
 
The Project Molecule: A Better Way to Organize Space and Time for Any Project
The Project Molecule: A Better Way to Organize Space and Time for Any ProjectThe Project Molecule: A Better Way to Organize Space and Time for Any Project
The Project Molecule: A Better Way to Organize Space and Time for Any Project
Rod King, Ph.D.
 
Purple Goldfish Hall of Famers
Purple Goldfish Hall of FamersPurple Goldfish Hall of Famers
Purple Goldfish Hall of Famers
Stan Phelps
 
Arrow Consulting PMP
Arrow Consulting PMPArrow Consulting PMP
Arrow Consulting PMP
Kirsten Rivera
 
The Process of Making Wine and Champagne
The Process of Making Wine and ChampagneThe Process of Making Wine and Champagne
The Process of Making Wine and Champagne
Emily Stellfox
 
The soap making process
The soap making processThe soap making process
The soap making process
Murray Hunter
 
Seven steps to starting your own business
Seven steps to starting your own businessSeven steps to starting your own business
Seven steps to starting your own business
Mihran Kalaydjian
 

Viewers also liked (20)

Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Iwsm2014 mispredicting software reliability (rakesh rana)
Iwsm2014   mispredicting software reliability (rakesh rana)Iwsm2014   mispredicting software reliability (rakesh rana)
Iwsm2014 mispredicting software reliability (rakesh rana)
 
Project ii v.2.0
Project ii v.2.0Project ii v.2.0
Project ii v.2.0
 
Deliverable 3
Deliverable 3Deliverable 3
Deliverable 3
 
Project management
Project managementProject management
Project management
 
Animated presentation
Animated presentationAnimated presentation
Animated presentation
 
A Load Of Bollards
A Load Of BollardsA Load Of Bollards
A Load Of Bollards
 
Lec no. 4 hardware and software basic
Lec no. 4 hardware and software basicLec no. 4 hardware and software basic
Lec no. 4 hardware and software basic
 
Starting your Startup
Starting your StartupStarting your Startup
Starting your Startup
 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test cases
 
Crating an Awesome Brand
Crating an Awesome Brand Crating an Awesome Brand
Crating an Awesome Brand
 
Vtoc, Use Case, Activity Diagram
Vtoc, Use Case, Activity DiagramVtoc, Use Case, Activity Diagram
Vtoc, Use Case, Activity Diagram
 
BUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPS
BUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPSBUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPS
BUSINESS MODEL DEVELOPMENT FOR BLUE OCEAN STARTUPS
 
16. Computer Systems Basic Software 2
16. Computer Systems   Basic Software 216. Computer Systems   Basic Software 2
16. Computer Systems Basic Software 2
 
The Project Molecule: A Better Way to Organize Space and Time for Any Project
The Project Molecule: A Better Way to Organize Space and Time for Any ProjectThe Project Molecule: A Better Way to Organize Space and Time for Any Project
The Project Molecule: A Better Way to Organize Space and Time for Any Project
 
Purple Goldfish Hall of Famers
Purple Goldfish Hall of FamersPurple Goldfish Hall of Famers
Purple Goldfish Hall of Famers
 
Arrow Consulting PMP
Arrow Consulting PMPArrow Consulting PMP
Arrow Consulting PMP
 
The Process of Making Wine and Champagne
The Process of Making Wine and ChampagneThe Process of Making Wine and Champagne
The Process of Making Wine and Champagne
 
The soap making process
The soap making processThe soap making process
The soap making process
 
Seven steps to starting your own business
Seven steps to starting your own businessSeven steps to starting your own business
Seven steps to starting your own business
 

Similar to Basic software testing v2.20

Thailand SPIN: QA Excellence Workshop
Thailand SPIN: QA Excellence WorkshopThailand SPIN: QA Excellence Workshop
Thailand SPIN: QA Excellence Workshop
Nopparat Slisatkorn
 
Thailand SPIN: QA Excellence workshop 2014
Thailand SPIN: QA Excellence workshop 2014Thailand SPIN: QA Excellence workshop 2014
Thailand SPIN: QA Excellence workshop 2014
Nopparat Slisatkorn
 
AutoTesting.pdf
AutoTesting.pdfAutoTesting.pdf
AutoTesting.pdf
psaku1
 
Mini Master in software testing
Mini Master in software testingMini Master in software testing
Mini Master in software testing
Software Park Thailand
 
00 overview
00 overview00 overview
System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycle
eiszer
 
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพแนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพRapeepan Thawornwanchai
 
EveryBitsConsult_Services_Overview2.0
EveryBitsConsult_Services_Overview2.0EveryBitsConsult_Services_Overview2.0
EveryBitsConsult_Services_Overview2.0Atthaboon Sanurt
 
ออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อย
ออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อยออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อย
ออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อย
Prathan Dansakulcharoenkit
 
01 process and software development
01 process and software development01 process and software development
01 process and software development
Suradet Jitprapaikulsarn
 
Achieving "Zero Downtime Deployment" with Automated Testing
Achieving "Zero Downtime Deployment" with Automated TestingAchieving "Zero Downtime Deployment" with Automated Testing
Achieving "Zero Downtime Deployment" with Automated Testing
Kan Ouivirach, Ph.D.
 
การพัฒนาและติดตั้งระบบ(System implementation)
การพัฒนาและติดตั้งระบบ(System implementation)การพัฒนาและติดตั้งระบบ(System implementation)
การพัฒนาและติดตั้งระบบ(System implementation)
tumetr
 
Inno feas session 3
Inno feas session 3Inno feas session 3
Qc1
Qc1Qc1
DP-Developer
DP-DeveloperDP-Developer
DP-Developer
diseVru
 
From quality management to performance excellence
From quality management to performance excellenceFrom quality management to performance excellence
From quality management to performance excellence
Areté Partners
 
บทที่5
บทที่5บทที่5
บทที่5noonnn
 
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหาใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหาคีตะบลู รักคำภีร์
 

Similar to Basic software testing v2.20 (20)

Thailand SPIN: QA Excellence Workshop
Thailand SPIN: QA Excellence WorkshopThailand SPIN: QA Excellence Workshop
Thailand SPIN: QA Excellence Workshop
 
Thailand SPIN: QA Excellence workshop 2014
Thailand SPIN: QA Excellence workshop 2014Thailand SPIN: QA Excellence workshop 2014
Thailand SPIN: QA Excellence workshop 2014
 
AutoTesting.pdf
AutoTesting.pdfAutoTesting.pdf
AutoTesting.pdf
 
Mini Master in software testing
Mini Master in software testingMini Master in software testing
Mini Master in software testing
 
00 overview
00 overview00 overview
00 overview
 
Cmmi
CmmiCmmi
Cmmi
 
System Development Life Cycle
System Development  Life  CycleSystem Development  Life  Cycle
System Development Life Cycle
 
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพแนวทางการพัฒนาซอฟต์แวร์คุณภาพ
แนวทางการพัฒนาซอฟต์แวร์คุณภาพ
 
EveryBitsConsult_Services_Overview2.0
EveryBitsConsult_Services_Overview2.0EveryBitsConsult_Services_Overview2.0
EveryBitsConsult_Services_Overview2.0
 
ออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อย
ออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อยออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อย
ออกแบบ Test Cases เพื่อทำ Non-Functional Test โดย คุณณรงค์ จันทร์สร้อย
 
01 process and software development
01 process and software development01 process and software development
01 process and software development
 
S12 Software Testing Type
S12 Software Testing TypeS12 Software Testing Type
S12 Software Testing Type
 
Achieving "Zero Downtime Deployment" with Automated Testing
Achieving "Zero Downtime Deployment" with Automated TestingAchieving "Zero Downtime Deployment" with Automated Testing
Achieving "Zero Downtime Deployment" with Automated Testing
 
การพัฒนาและติดตั้งระบบ(System implementation)
การพัฒนาและติดตั้งระบบ(System implementation)การพัฒนาและติดตั้งระบบ(System implementation)
การพัฒนาและติดตั้งระบบ(System implementation)
 
Inno feas session 3
Inno feas session 3Inno feas session 3
Inno feas session 3
 
Qc1
Qc1Qc1
Qc1
 
DP-Developer
DP-DeveloperDP-Developer
DP-Developer
 
From quality management to performance excellence
From quality management to performance excellenceFrom quality management to performance excellence
From quality management to performance excellence
 
บทที่5
บทที่5บทที่5
บทที่5
 
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหาใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
ใบความรู้ที่2 การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
 

Basic software testing v2.20

  • 1. Basic Software Testing Guide for starting of tester career SAND 2014
  • 2. Implementation Project Management Solution Integrator E2E Tester Technical Support Product Owner QA Eng. PA Project Deployment Consultant Tier-1 24x7 V-Model (software development) Tier-2 8x5 Tier-3 8x5 #1 #2 #3 #4 #5 #6 #7
  • 3. Agenda 1. Software testing WHAT & WHY ? 2. Fundamentals 3. Requirement traceability matrix 4. Test Estimation & Planning 5. Test Cases, Scripts, Data 6. Test Execution 7. Classic Testing Mistake 8. Improvement 9. Workshop
  • 5. WHAT IS SOFTWARE TESTING? • Software testing is a process of verifying and validating that a software application or program –1. Meets the business and technical requirements that guided its design and development –2. Works as expected. • Software testing also identifies important defects, flaws, or errors in the application code that must be fixed.
  • 6. WHY DO SOFTWARE TESTING? • Software testing is focused on finding defects in the final product. • Software testing answers questions that development testing and code reviews can’t.
  • 7. Purpose of Testing • Verification • Validation • Defect finding
  • 8. Cost of fixing a defect
  • 9. Testing skills and knowledge Test knowledge ▪ test principles ▪ techniques ▪ tools, etc. IT knowledge ▪ software development ▪ requirements ▪ configuration management Domain knowledge ▪ business process ▪ user characteristics Soft skills ▪ communication ▪ critical mind-set ▪ presentation and reporting
  • 11. Testing Principles • All tests should be traceable to customer requirements • Tests should be planned long before testing begins • Testing should begin “in the small” and progress toward testing “in the large” • To be most effective, testing should be conducted by an independent third party
  • 12. Test Approach • Black box testing (Internals NOT known) • White box testing (Internals Fully known) • Grey box testing (Internals Relevant to testing known)
  • 14. Aims of Black Box Testing • Find – Incorrect or missing functionality – Interface errors – Errors in data structures used by interfaces – Behaviour or performance errors – Initialization and termination errors
  • 16. Aims of White Box Testing • Internal security holes • The flow of specific inputs through the code • Expected output • The functionality of conditional loops • Testing of each statement, object and function on an individual basis
  • 18. Aims of Grey Box Testing • Combination of Black & White box testing • Search for improper usage of application • Search for improper structure • Tester can handle intelligent test scenario for example, data type handling, communication protocol
  • 19. Methodologies • Boundary testing • Equivalence classes • Decision tables • State transitional diagrams • Risk Analysis
  • 25. Types of Testing • Unit Testing • Functional Testing • System Integration Testing • User Acceptance Testing (UAT) • Regression Testing • Beta Testing
  • 26. Summary Testing Type Specification General Scope Approach Who generally does it? Unit Low-Level Design Actual Code Structure Small unit of code no larger than a class White Box Programmer who wrote code Functional High Level Design Whole product Black Box Independent tester System Requirements Analysis Whole product In representative Environments Black Box Independent tester User Acceptance Requirements Analysis Whole product in customer’s Environment Black Box Customer Beta Ad hoc Whole product in customer’s Environment Black box Customer Regression Changed Documentation High-Level Design Any of the above Black Box White Box Programmer(s) or independent testers
  • 29. Traceability matrix (example) Requirement ID Requirement description TC 001(user login) TC 002 (add user) TC 003 (delete user) SR-1.1 User should be able to login using LDAP user x SR-1.2 User should be able to see error message when fail to login x SR-1.3 Admin user should be able to add user on admin page x SR-1.4 Admin user can not add duplicate user on admin page x SR-1.5 ….. x x SR-1.6 ………. x SR-1.7 ………… x
  • 30. Benefits of using Traceability Matrix • To make sure that all requirements included in the test cases • To make sure that developers are not creating features that no one has requested • Easy to identify the missing functionalities.
  • 31. Testing without Requirements • Tester must do the following tasks at the same time – get clarifications, understand the product's features, document test cases and testing • It is better to create checklist – All the tests to be conducted. – Proper sequence in which to execute the test cases. The correct flow will help to focus the thinking of tester at the time of execution of test cases. • Testing Approach – Ad hoc Testing – Exploratory Testing Source: http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=ART&ObjectId=6443
  • 33. Estimation for Testing • Questions to be asked – Requirements finalized. If not, frequency of change – Types of Testing – Test Assets & Team are available and clear – Assumptions/Risks
  • 34. Test Planning • Test Plan • Test Procedure • Test Report
  • 37. Test Cases Contents • Purpose • Pre-condition • Test Data • Action • Expected response • Comment • Post Condition
  • 39. Test Data • Test data can be said. to be ideal if for the minimum size of data set all the application errors get identified • Prepare test data that will incorporate all application functionality, but not exceeding cost and time constraint for preparing test data and running tests • Poorly designed testing data may not test all possible test scenarios which will hamper the quality of the software. • Good test data will help us; – Rely on the result of testing – Reduce the testing schedule and effort
  • 41. Test Execution • Execute the test cases • Logging Defects • Re-execute test cases after every change – Automate as much as possible for instance, after each refactoring • Regression testing – Testing that everything that used to work still works after changes are made to the system – rerunning test cases from existing test suites to build confidence that software changes have no unintended side-effects
  • 44. What if there isn’t enough time for testing?
  • 46. Classic testing mistakes • The developer should not be testing at all – Test before you code • Testers get only involved once software is done – Testers should be involve since project start • Toss the software over the wall for testing – Testers and developers collaborate in developing the test suite • Testing team is responsible for assuring quality – Quality is assured by a good software process
  • 48. Become a Better Tester • Test for quality over quantity • Practice and improve • Learn from your own mistakes and from others too • Be objective and professional • Don’t be humble with software… think out of the box • Question. Everything • Think like the user • Increase the effectiveness of bug reports • Be Passionate!
  • 49. Personal attributes of highly effective testing professionals • Curiosity • Cautious • Good work ethic • Desire to make a difference • Discipline • Quality focus and orientation • Personal organization • Quick learner • Desire to share information • Communication skills • Team player
  • 50. Achieve in S/W Testing •Keep your eye open •Avoid the work and relax, you may miss some bugs •Look at the application in the negative way, you will always find the bugs. •Bugs are in many places, don’t skip your testing. Client does not know a defect is small or big. •Think of the persons who use the application, define scenarios (Test cases) and execute them
  • 51. Defect Management • Thorough understanding • Adhere to processes • Verify defects before distribute • Capture Screenshot and steps • Raise every bugs in the defect tracking tool • Always use the facts • Keep track of impact of bugs and associate to the risks • Some defects may not resolve, prepare for these • Never close the defects because of your feeling or not finding by developer
  • 53. Workshop1 : ประโยคด ้านล่างถูกหรือผิด (True/False) B. ก่อนที่กระบวนการ Test จะเริ่มขึ้น ต ้องรอให ้ Software พัฒนา เสร็จเรียบร ้อยก่อน A. การทา Unit Testing อยู่ในขั้นตอนการ Develop Software (Construction Phase) C. การ Develop และการ Test ควรทาโดยบุคคลคนเดียวกัน D. การทา Software ต ้องมีกระบวนการ Test เข ้ามาเกี่ยวข ้องเสมอ
  • 54. Workshop2 : จับคู่ข ้อมูลที่สัมพันธ์กัน ความหมาย คาที่เกี่ยวข้อง 1 เลือกตัวแทนของข ้อมูลในแต่ละกลุ่มมาทดสอบ Testing from formal specifications 2 การทา Test Case จะเลือกค่าขอบบน และขอบ ล่างของชุดข ้อมูล Equivalence Partitioning 3 พิจารณาทุก ๆ ค่าที่เป็นไปได ้ของข ้อมูลที่จะ inputs, actions และ outputs ที่จะได ้ Finite state machine-based 4 การทดสอบที่ครอบคลุมเรื่อง Transition Boundary value analysis 5 สิ่งที่ใช ้ในการการันตีว่า Software ถูกต ้อง Decision Table
  • 55. Workshop3 : คิดจานวน Test Case แบบ Equivalence Partitioning ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน Test Case แบบ Equivalence ทั้งหมดเท่าไหร่ A. 15 B. 3 C. 6 D. 5
  • 56. Workshop4 : คิดจานวน Test Case แบบ Boundary value analysis ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน Test Case แบบ Boundary ทั้งหมดเท่าไหร่ A. 15 B. 3 C. 6 D. 5
  • 57. Workshop5 : คิด Test Case แบบ White box ได ้กี่แบบ จาก Flow ด ้านล่าง ถ ้าต ้องการทดสอบ White box Testing จะมี จานวน Test Case อย่างน้อยกี่ Test Case A. 3 B. 4 C. 5 D. 6
  • 59. Answer1 : ประโยคด ้านล่างถูกหรือผิด (True/False) A. การทา Unit Testing อยู่ในขั้นตอนการ Develop Software (Construction Phase) True B. ก่อนที่กระบวนการ Test จะเริ่มขึ้น ต ้องรอให ้ Software พัฒนาเสร็จ เรียบร ้อยก่อน False C. การ Develop และการ Test ควรทาโดยบุคคลคนเดียวกัน False D. การทา Software ต ้องมีกระบวนการ Test เข ้ามาเกี่ยวข ้องเสมอ True
  • 60. Answer2 : จับคู่ข ้อมูลที่สัมพันธ์กัน ความหมาย คาที่เกี่ยวข้อง 1 เลือกตัวแทนของข ้อมูลในแต่ละกลุ่มมาทดสอบ Equivalence Partitioning 2 การทา Test Case จะเลือกค่าขอบบน และขอบ ล่างของชุดข ้อมูล Boundary value analysis 3 พิจารณาทุก ๆ ค่าที่เป็นไปได ้ของข ้อมูลที่จะ inputs, actions และ outputs ที่จะได ้ Decision Table 4 การทดสอบที่ครอบคลุมเรื่อง Transition Finite state machine-based 5 สิ่งที่ใช ้ในการการันตีว่า Software ถูกต ้อง Testing from formal specifications
  • 61. Answer3 : คิดจานวน Test Case แบบ Equivalence Partitioning ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน Test Case แบบ Equivalence ทั้งหมดเท่าไหร่ A. 15 B. 3 C. 6 D. 5
  • 62. Answer4 : คิดจานวน Test Case แบบ Boundary value analysis ตู้ATM จะจ่ายเงินเป็นธนบัตรครั้งละ 20$ โดยสามารถจ่ายธนบัตร ได ้จานวนเงินตั้งแต่ 20$ ถึง 300$ หากทาการทดสอบจะมีจานวน Test Case แบบ Boundary ทั้งหมดเท่าไหร่ A. 15 B. 3 C. 6 D. 5
  • 63. Answer5 : คิด Test Case แบบ White box ได ้กี่แบบ จาก Flow ด ้านล่าง ถ ้าต ้องการทดสอบ White box Testing จะมี จานวน Test Case อย่างน้อยกี่ Test Case A. 3 B. 4 C. 5 D. 6 L-node+2 = 10-8+2 = 4

Editor's Notes

  1. Description : จุดประสงค์ของ course นี้ เพื่อต้องการปูพื้นฐาน การ test ให้กับพนักงานในองค์กร และเพื่อให้ทุกคนตระหนักและเห็นความสำคัญของการ Test อย่างถูกต้อง และมีกระบวนการ
  2. Description : ตัวอย่างของ Process ที่ควรจะมีในกระบวนการพัฒนา software โดยยกตัวอย่าง V-Model Trainer : อ่านเพิ่มเติมได้ที่ Wikipedia : V-Model (software development) ตรงนี้ให้ อธิบายให้ผู้เข้าเรียน เข้าใจกระบวนการทำ software development เบื้องต้น โดยทุกกระบวนการต้องมี Input และ Output เนื่องจากถ้ากระบวนการทำ software ไม่ดี การ Test ที่ดีแค่ไหนก็ไม่สามารถทำให้ software สำเร็จแบบมีคุณภาพได้ Concept of Operations & Implement Project Management จะเป็นการ รวบรวม requirement และ ทำให้ละเอียดลงเป็น feature ย่อยๆ รวมถึงการกำหนดหน้าที่ต่างๆของ Project Members. Requirement & Architecture เมื่อได้ requirement ย่อยแล้วสามารถทำ Use Case Diagram ของ Feature ต่างๆรวมถึงออกแบบ architecture เพื่อให้นำไปทำ Detailed Design ต่อได้ รวมกันเป็นข้อมูลตั้งต้นให้ E2E Tester สามารถนำไปใช้ออกแบบ Test Case สำหรับ E2E Detailed Design ออกแบบ Technical Spec เพื่อให้ Programmer สามารถเริ่ม coding และ QA Engineer สามารถเริ่มเขียน Test Plan/ Test Case ได้พร้อมๆกัน Implementation Programmer ทำการ coding ตาม spec ที่ได้รับ จนได้ software ที่ต้องการออกมา เมื่อ Software เสร็จแล้วก็ส่งเข้ากระบวนการ Test ในกรณีที่ software นั้นต้องการ Functional หรือ Integration Test เมื่อ Software เสร็จแล้วก็ส่งเข้ากระบวนการ Test ในกรณีที่ software นั้นต้องการ E2E Test เมื่อผ่านการ Test แล้วทำการ Rollout ได้เลย ฝั่งขวาสุดเป็น Operation support ซึ่งสามารถใช้เอกสารต่างๆที่จัดทำไว้ใน step 1,2,3,5,6,7 เพื่อ support product ได้ ตรงนี้นำมาใส่เพื่อให้เห็นทั้ง Life Cycle ว่ามี O&M ด้วย และควรคิด O&M ตั้งแต่เริ่มทำ software
  3. Description : หัวข้อในการสอน Trainer : อธิบาย Agenda อย่างย่อของแต่ละหัวข้อ ว่ามีอะไรบ้าง ใช้เวลาเท่าไหร่ Software testing WHAT & WHY ? การอธิบายเหตุผลและประเป็นหลักว่าเพราะอะไรและทำไมจึงทำการ Test Software 2. Fundamentals อธิบายทฤษฎีพื้นฐานต่างๆที่ควรรู้ก่อนการมาเป็น Programmer, SA, PM และ Tester เนื่องจากการ Test นั้นต้องทำกับทุกๆ software ในกระบวนการผลิต 3. Requirement traceability matrix : อธิบายถึงความสำคัญของการทำ traceability matrix 4. Test Estimation & Planning : การประเมินการ Test และวางแผนการ Test ให้มีประสิทธิภาพ 5. Test Cases, Scripts, Data : อธิบายความหมายและการใช้งาน Test Case, Test Script, Test Data ให้เกิดประโยชน์สูงสุด 6. Test Execution : การ Run Test ควรทำอย่างไรบ้าง 7. Classic Testing Mistake : ความเข้าใจผิดๆเกี่ยวกับการ Test 8. Improvement : จะเป็น Tester ที่ดีกว่า ต้องพัฒนาความสามารถด้านไหนบ้าง 9. Workshop
  4. Description : เริ่มด้วย คำถามเพื่อเกริ่นนำ การสอน , Test เพื่ออะไร, ทำไมต้อง Test, และ ใคร Test Trainer : เริ่มกล่าวแนะนำ What is software testing
  5. Description : Software testing เป็นกระบวนการ Verify และ Validate Software โดยสามารถหา Software Defect ต่างๆเพื่อทำการแก้ไข Trainer : อธิบายตาม ​Slide ได้เลย
  6. Description : ทำไมต้อง Test, 1. เพราะต้องหา Defect ให้ได้มากที่สุดก่อนสินค้าจะถูกปล่อยออกสู้ท้องตลาด 2. นอกจากนั้น Software Testing ยังสามารถตรวจสอบ software ได้จากการ run ที่ไม่สามารถตรวจสอบจาก code ได้ เช่น – Does it really work as expected? ทำงานได้ตามคาดหวังหรือไม่ – Does it meet the users’ requirements? ตรงตามที่ user ให้ requirement มาใช่ไหม – Is it what the users expect? ตรงตามที่ user ต้องการใช่ไหม – Do the users like it? User ชอบมันหรือเปล่า? – Is it compatible with our other systems? เข้ากับระบบอื่นๆที่เรามีได้หรือไม่ เช่น ชนิดของ web browser. – How does it perform? คสามรวดเร็วในการใช้งาน – How does it scale when more users are added? เมื่อไหร่ที่ต้องขยายระบบ – Which areas need more work? มีตรงไหนอีกบ้างที่ต้องปรับปรุง – Is it ready for release? ตอนนี้พร้อมสำหรับการส่ง software ให้ลูกค้าแล้วหรือยัง 3. Who? ใครเป็นคน Test : Tester หรือสมาชิกในทีมที่ไม่ใช่คนเขียน Program นั้นๆ Trainer : อธิบายตาม note
  7. Description : • Verification – meets its technical specifications คือ การตรวจสอบว่า application ทำงานได้ถูกต้องตาม Technical Spec ไหม • Validation – meets the business requirements คือ การตรวจสอบว่า application ทำงานได้ถูกต้องตาม requirement หรือไม่ • Defect finding – A defect is a variance between the expected and actual result คือการตรวจสอบว่า result จริงๆต่างจาก expect result หรือไม่ Trainer : อธิบายตาม Note เพื่อให้เข้าใจจุดประสงค์การ Test. คือ Verification, Validation and Defect Finding
  8. Description : จาก Chart จะเป็นค่าใช้จ่ายในการแก้ Defect ที่เจอตอน Software ขึ้นไปแล้วในแต่ละ Stage ของการทำ software ถ้าเจอปัญหาเร็วก็จะมีค่าใช้จ่ายในการแก้ไขน้อย ซึ่งค่าเสียหายส่วนมากเป็น Brand Image Trainer : อธิบายถึงผลกระทบของการเจอ Defect ในแต่ละช่วงเวลาของการทำ Software ว่า เมื่อเจอในขั้นตอนที่ Launch ไปแล้ว cost ในการแก้ไขจะสูงมาก โดนเฉพาะค่า Brand Image ซึ่งไม่สามารถประเมินได้ ยกตัวอย่าง CRV, รถยนต์ต่างๆที่ต้อง Recall.
  9. Description : Skill ที่ Tester ควรมีแบ่งออกเป็นสี่ส่วน โดย course นี้จะสอนเฉพาะ Test Principles & techniques. Trainer : อธิบายการใช้งาน skill ต่างๆในชีวิตประจำวัน ว่าทำไม่ต้องใช้เพื่อให้งานเดินต่อไปได้ ควรจะเน้นย้ำว่าการรับคนมาทำงานด้าน Test ควรมีพื้นฐานข้างต้นให้มากที่สุด
  10. Description : Trainer : บทนี้ให้อธิบายพื้นฐานการ Test
  11. Description : Testing Principles – หลักการในเชิงทฤษฎีสำหรับการ Test เพิ่มเติม exhaustive testing - Executing a program with all possible combinations of inputs or values for program variables. ถ้าทำ Exhaust Test ไม่ได้ก็ให้แบ่งการ Test เป็นส่วนๆ Trainer : อธิบายตาม slide • All tests should be traceable to customer requirements : ถ้า Test แล้ว Trace ไม่ได้ก็ไม่สามารถบอกได้ว่าที่เรา Test นั้นถูกต้องหรือไม่ • Tests should be planned long before testing begins : การวางแผนสามารถทำให้เขียน test case ได้ดี เก็บรายละเอียดได้ครบ และ มีความสุขในการทำงาน • Testing should begin “in the small” and progress toward testing “in the large.” : เริ่มจากเล็กไปใหญ่ จะดีกว่าเสมอ • To be most effective, testing should be conducted by an independent third party : ต้องไม่ใช่ทีม Develop Test คน Test ควรเป็นคนอื่นเพื่อป้องกัน การลำเอียง
  12. Test Approach คือ ประเภทการ Test ในแบบต่างๆ Description : • Black box testing (also called functional testing) is testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions. • White box testing (also called structural testing and glass box testing) is testing that takes into account the internal mechanism of a system or component. • Grey box testing Testing software while already having some knowledge of its underlying code or logic. It implies more understanding of the internals of the program than black box testing, but less than white box testing Trainer : อธิบายความแตกต่างของการ Test ทั้งสามแบบพร้อมทั้ง ยกตัวอย่างงาน Test ของผู้เข้าเรียนว่าเป็นแบบไหน
  13. Description : Trainer :
  14. Description : - incorrect or missing functionality ตรวจสอบการ function ว่าทำงานผิดปกติหรือไม่ – interface errors ตรวจสอบ Interface หรือ Gui ต่างๆว่าตรงตามที่ออกแบบไว้หรือไม่ – errors in data structures used by interfaces ตรวจสอบความถูกต้องของโครงสร้างข้อมูล – behaviour or performance errors ตรวจสอบปัญหาพฤติกรรมการใช้งานหรือ performance – initialization and termination errors ปัญหาการเปิด ปิด application Trainer : อธิบายจุดประสงค์การ Test แบบ Black Box
  15. Description : Trainer :
  16. Description : จุดมุ่งหมายของการทำ whitebox testing Trainer : อธิบาย Aim แต่ละแบบว่าเพื่ออะไร ทำไมถึงต้อง Test และเมื่อไหร่ต้องใช้ • Internal security holes ตรวจสอบช่องโหว่ของ security (อ้างอิงความรู้จาก SSDLC ได้เลย) • The flow of specific inputs through the code ตรวจสอบ input ที่เข้ามา process ใน code • Expected output ตรวจสอบ output ที่คาดหวังไว้ • The functionality of conditional loops ตรวจสอบปัญหา looping เช่น มากหรือน้อยไป ซึ่งอาจจะกระทบกับ Performance • Testing of each statement, object and function on an individual basis ตรวจสอบระดับ object, statement , function จนถึง line of code
  17. Description : Grey Box Testing (grey สะกดแบบอังกฤษ) Trainer : คำอธิบายอยู่ slide ถัดไป
  18. Description : จุดมุ่งหมายของการทำ Greybox testing Trainer : อธิบาย Aim แต่ละแบบว่าเพื่ออะไร ทำไมถึงต้อง Test และเมื่อไหร่ต้องใช้ • Combination of Black & White box testing เป็นการรวมเทคนิคการ Test ของทั้งสองแบบเข้ามาด้วยกันเพื่อให้การ Test มีความละเอียดมากยิ่งขึ้น • Search for improper usage of application – ตรวจสอบว่า Software ทำงานผิดหรือไม่. • Search for improper structure – สามารถตรวจสอบโครงสร้าง software หรือ โครงสร้างฐ่นข้อมูลได้ • Tester can handle intelligent test scenario for example, data type handling, communication protocol ตรวจสอบการจัดการ error ต่างๆ, ตรวจสอบการจัดการใช้ชนิดของข้อมูลว่าถูกต้องหรือไม่
  19. Description : อธิบายทฤษฎีการ Test แต่ละแบบว่าเพื่ออะไร เมื่อไหร่ต้องใช้ • Boundary testing : Test ขอบเขตของsoftware เช่น min/max value • Equivalence classes : Test โดยใช้ข้อมูล input ต่างๆ ที่คลอบคลุม เหมาะสมมา test โดยจะทำให้ Test case น้่อยที่สุด • Decision tables : Test เพื่อทดสอบการทำงานของ software ว่าตัดสินใจตาม action และ input ที่วางไว้ และครอบคลุมทุก condition หรือไม่ • State transitional diagrams : ในการตรวจสอบดูจาก status เป็นหลัก ว่า state ในแต่ละ event ถูกต้องหรือไม่ • Risk Analysis : ใช้เพื่อประเมินว่า case ไหรมีความสำคัญในการ Test มากกว่ากัน (ใช้ในกรณีที่ Test ไม่ทันแล้วต้องเลือกสิ่งที่สำคัญมาก Test ก่อน) Trainer : อธิบายตาม description, ส่วนของรายละเอียดจะอยู่ใน slide ต่อไปของแต่ละ methodology Methodology = วิถีแห่งการ Test
  20. Test ขอบเขตของsoftware เช่น min/max value
  21. Test โดยใช้ข้อมูล input ต่างๆ ที่คลอบคลุม เหมาะสมมา test โดยจะทำให้ Test case น้่อยที่สุด แต่คลอบคลุม requirement ทั้งหมด
  22. Test เพื่อทดสอบการทำงานของ software ว่าตัดสินใจตาม action และ input ที่วางไว้หรือไม่ เพื่อให้ครอบคลุม condition ต่างๆทั้งหมด
  23. เป็นการ Test การเปลี่ยนแปลง state ในแต่ละเหตุการณ์ ว่ามีผลตรงตามที่คาดหวังหรือไม่ จากตัวอย่างเป็นระบบการฝาก-ถอนเงินของบัญชีธนาคาร * Overdraft เบิกเงินเกินบัญชี
  24. The process of assessing identified risks to estimate their impact and probability of occurrence (likelihood). Likelihood = The probability or chance of an event occurring (e.g., the likelihood that a user will make a mistake and, if a mistake is made, the likelihood that it will go undetected by the software) Impact = The damage that results from a failure (e.g., the system crashing or corrupting data might be considered high impact) คือการหา ค่าความเสี่ยง และ การประเมินผลกระทบ จากความเป็นไปได้ต่างๆ เพื่อเป็นข้อมูลในการเลือก Test สิ่งที่สำคัญมากๆก่อน
  25. Description : Unit Testing : การ Test Function ส่วนย่อยๆบน software โดย developer Functional Testing : การ Test Function ที่ระบุใน requirement ว่าสามารถใช้งานได้ตรงตาม requirement หรือไม่ System Integration Testing : test การเชื่อมต่อระหว่าง Software แต่ละส่วนว่าสามารถต่อแล้วใช้ได้หรือไม่ User Acceptance Testing (UAT) : Test โดยลูกค้า ว่าลูกค้าพอใจ และผ่านหรือไม่ Regression Testing : Test เพื่อทดสอบว่าการแก้ไข software นั้นมีผลกระทบต่อ function อื่นๆหรือไม่ Beta Testing : ใช้ลูกค้าจริง ใช้งานระบบที่เกือบสมบูรณ์แล้ว เช่น Angry Birds เปิดให้เล่นฟรีสำหรับ Beta version Trainer : อธิบาย type ของการ Test ต่างๆอย่างละเอียด
  26. Description : ตารางเปรียบเทียบการใช้ Approach ต่างๆกับ Testing Type Trainer :
  27. Description : Process การ Test Trainer : อธิบายตาม process ได้เลย
  28. Description : มีเพื่อให้สามารถดูว่า Test Case ทั้งหมดนั้นครอบคลุม requirement แล้วใช่ไหม และยังมีไว้ใช้สำหรับ track หา bug ว่าเกิดจาก test case ไหน และสามารถใช้เชื่อมโยงไปถึง requirement ได้รวดเร็ว
  29. • To make sure that all requirements included in the test cases • To make sure that developers are not creating features that no one has requested • Easy to identify the missing functionalities.
  30. Description : • Tester must do the following tasks at the same time – get clarifications, understand the product's features, document test cases and testing • It is better to create checklist – All the tests to be conducted. – Proper sequence in which to execute the test cases. The correct flow will help to focus the thinking of tester at the time of execution of test cases. • Testing Approach – Ad hoc Testing คือการ Test โดยไม่มี plan และ document ซึ่งมีประโยชน์คือสามารถหา defect ที่สำคัญได้อย่างรวดเร็ว – Exploratory Testing คือการที่คน Test แต่ละคนมีอิสระในการ test ตามที่ตัวเองต้องการ โดยการเรียนรู้ software ไปแล้ว test ไป โดยมีจุดมุ่งหมายคือให้งานออกมามีคุณภาพมากที่สุด Trainer :
  31. Description : การวางแผนเพื่อ plan งานและประเมินการ Test รวมถึงการแก้ปัญหาเฉพาะหน้า
  32. Description : Trainer : – Is the Infrastructure for Testing ready? If Test Assets are available, What Stage they are in? *Test assets คือสิ่งต้องมีเพื่อทำให้การ Test สำเร็จลุล่วง
  33. Description : การทำ Test Planning ต้องประกอบไปด้วยอะไรบ้าง Trainer : • The Test Plan – defines the scope of the work to be performed. เราจะวางแผนอย่างไร, ใช้วิธีการ Test แบบไหน • The Test Procedure –a container document that holds all of the individual tests (test scripts) that are to be executed •The Test Report –documents what occurred when the test scripts were run
  34. Description : การวางแผนเพื่อ plan งานและประเมินการ Test รวมถึงการแก้ปัญหาเฉพาะหน้า
  35. A test case in a practical sense is a test-related item which contains the following information: – A set of test inputs. These are data items received from an external source by the code under test. The external source can be hardware, software, or human. – Execution conditions. These are conditions required for running the test, for example, a certain state of a database, or a configuration of a hardware device. – Expected outputs. These are the specified results to be produced by the code under test. Test Case ที่ดีต้องสะท้อนความเป็นจริง, ตรวจสอบความถูกต้องของ requirement ได้แม่นยำ และมุ่งเน้นการหาจุดบกพร่องของ software ให้ได้มากที่สุด A good Test Case is one which is more realistic, validates requirements and intends to find maximum defects.
  36. Purpose: Short sentence or two about the aspect of the system is being tested. If this gets too long, break the test case up or put more information into the feature descriptions. Pre-conditions: Assumptions that must be met before the test case can be run. E.g., "logged in", "guest login allowed", "user test user exists". Test Data: List of variables and their possible values used in the test case. You can list specific values or describe value ranges. The test case should be performed once for each combination of values. These values are written in set notation, one per line. E.g.: loginID= {Valid loginID, invalid loginID, valid email, invalid email, empty} password = {valid, invalid, empty} Action: 1.Steps to carry out the test. See step formatting rules below. visit Login Page 2.enter user ID 3.enter password 4.click login 5.see the terms of use page 6.click agree radio button at page bottom 7.click submit button 8.see Personal Page 9.verify that welcome message is correct username Expected Response : What actions or information that will be happened after finish all those steps? Comment : Any information that need to be considered during test execution process. Post-conditions:
  37. ใส่ตัวอย่าง Test case ตามตาราง sample
  38. อธิบายการเตรียม data ให้เหมาะสมกับการ Test
  39. Description : อธิบายถึงการเริ่มลงมือ test, อธิบาย process การ test เบื้องต้น
  40. Description : Trainer : – Automate as much as possible for instance, after each refactoring ควรทำ automate test ให้มากที่สุดหลังจากการปรับปรุง code.
  41. Description : Trainer :
  42. Description : Trainer :
  43. Description : • Here are some points to be considered when you are in such a situation: – Find out Important functionality is your project? – Find out High-risk module of the project? – Which functionality is most visible to the user? – Which functionality has the largest safety impact? – Which functionality has the largest financial impact on users? – Which aspects of the application are most important to the customer? – Which parts of the code are most complex, and thus most subject to errors? – Which parts of the application were developed in rush or panic mode? – What do the developers think are the highest-risk aspects of the application? – What kinds of problems would cause the worst publicity? – What kinds of problems would cause the most customer service complaints? – What kinds of tests could easily cover multiple functionalities? • Considering these points you can greatly reduce the risk of project releasing under less time constraint. Trainer :
  44. Description : อธิบายถึงการเริ่มลงมือ test, อธิบาย process การ test เบื้องต้น
  45. Description : Trainer : ให้เสริมเรื่องความเข้าใจผิดบ่อยๆ ที่เกี่ยวกับการ Test
  46. Description : เมื่อเป็น Tester แล้ว เราจะปรับปรุงตัวอย่างไรให้เก่งขึ้น Trainer : อธิบายตามความชำนาญและประสบการณ์
  47. Description : เลือกเฉพาะข้อเด่นๆ เพื่ออธิบาย Trainer : อธิบายตามความชำนาญและประสบการณ์ • Don’t be humble with software… think out of the box อย่ากลัว software ให้พยายามคิดนอกกรอบเข้าไว้
  48. Description : เลือกเฉพาะข้อเด่นๆ เพื่ออธิบาย Trainer : อธิบายตามความชำนาญและประสบการณ์ Curiosity – ขึ้สงสัย Cautious – ระมัดระวัง Good work ethic – มีจรรยาบรรณในการ test Desire to make a difference – หามุมมองที่แตกต่าง, ทำให้ดีขึ้นเรื่อยๆ
  49. Description : เลือกเฉพาะข้อเด่นๆ เพื่ออธิบาย Trainer : อธิบายตามความชำนาญและประสบการณ์
  50. Description : เลือกเฉพาะข้อเด่นๆ เพื่ออธิบาย Trainer : อธิบายตามความชำนาญและประสบการณ์
  51. Description : Trainer :