SlideShare a Scribd company logo
1 of 34
Download to read offline
Vahid Garousi, CSEE&T 2010 1
An Open Modern Software Testing Laboratory
Courseware – An Experience Report
Vahid Garousi, PhD, PEng
Software Quality Engineering Research Group (SoftQual)
Schulich School of Engineering
University of Calgary, Canada
CSEE&T 2010, Pittsburgh, PA, USA (March 11, 2010)
(some of my students:)
Vahid Garousi, CSEE&T 2010 2
Background
The speaker believes that we have a few good textbooks on SW
testing, e.g.:
by Aditya P. Mathur (2008)
by Paul Ammann, Jeff Offutt (2008)
by Sagar Naik and Piyu Tripathy’s (2008)
But frankly speaking, there are not many publicly-available testing
courseware for testing educators to adapt and customize
The drawbacks of majority of the existing testing lab exercises:
They are not kept up-to-date with the most recent testing
tools and technologies, e.g., JUnit
are not built based on real-world large-scale SUTs
A brief comparison next…
A survey on this topic has been done by the speaker and
is available from his website
Vahid Garousi, CSEE&T 2010 3
A small library book loan systemTests were automated using Unix
command-line scripts
Queen's
University [6]
A office suite called TerpOffice
(developed internally at UMD)
JUnitUniversity of
Maryland [5]
A 49-LOC C programProteumIM-2.0 (mutation tool)
www.google.comJMeter
A hypothetical library checkout
system
Telcordia AR Greenhouse Efficient
Test Case Generation Service (AETG)
A 73-LOC C programxSuds (coverage analysis tool)
A simple Triangle classJUnitPurdue
University [4]
A VoIP application developed by
students in a previous course
JUnit, CPPUnitUniversity of
Waterloo [3]
Presentation tool, part of the Open
Office suite
None (students apparently used the
black-box techniques manually).
Florida Institute
of Technology [2]
A simple hypothetical landing gear
safety system, and an Automatic
Teller Machine
JUnitCarleton
University [1]
SUT(s)Testing tool(s)Testing course at
Several Software Testing Lab Exercises
Currently in Use in North American Universities
Vahid Garousi, CSEE&T 2010 4
Motivations
The above needs were the main motive for the speaker to
work with a new graduate of our SW engineering program
to …
The goal was: to modernize and re-design the labs of an
undergraduate testing course, i.e., Practical Exercises
Real-world testing tools
Realistic/large-scale SUTs
Vahid Garousi, CSEE&T 2010 5
We came up with Five Lab Exercises
1. Introduction to Testing and Defect Tracking
2. Requirements-Based Test Generation
3. Code Coverage, Adequacy Criteria and Test Case Correlation
4. Functional GUI Testing
5. Mutation Testing and Analysis
6. Performance, Security and Stress Testing
• Was in the original plan.
• But we felt that there would not be enough time for it during the
course.
• Was thus pitifully removed from the labware
Details about the five labs, next…
Vahid Garousi, CSEE&T 2010 6
This Cab Courseware is Available
Online
Vahid Garousi, CSEE&T 2010 7
Lab 1.
Introduction to Testing and Defect Tracking
Goals:
Getting hands-on experience in ad-hoc, manual and regression
testing
Using industrial defect tracking practices and tools (Bugzilla)
Experiencing that ad-hoc testing is not always very effective
SUT: An ATM simulation system
Testing support tool: Bugzilla
Realistic defects were manually injected in the SUT
Vahid Garousi, CSEE&T 2010 8
Lab 1.
Introduction to Testing and Defect Tracking
Lab document (instructions)…
Extensive effort was spent to
prepare clear, concise and
“interesting” lab exercises…
Involving a recent good student
helped a lot in this aspect
Vahid Garousi, CSEE&T 2010 9
Lab 1. Introduction to Testing and Defect Tracking
Marking Scheme
10%Number of defects found: Note that not all defects need to be
found. But if it appears that not enough effort was made in
finding defects, marks may be deducted.
10%Clarity and adherence to defect reporting guidelines
10%Correctness
Bugzilla Defect Reports (30%)
• Bugzilla Defect Reports (30%)
Lab Report (70%)
Vahid Garousi, CSEE&T 2010 10
Lab 1. Introduction to Testing and Defect Tracking
Marking Scheme
10%
6. Any difficulties encountered, challenges overcome, and lessons
learned from performing the lab
10%
5. A discussion on how the team work/effort was divided and
managed. Any lessons learned from your teamwork on this lab?
10%4. Notes and a discussion of the peer reviews of defect reports.
20%
3. A comparison of ad-hoc and manual functional testing (based on
the provided test suite) from several perspectives (e.g., benefits,
tradeoffs, effectiveness, efficiency, etc.)
10%
2. The test cases performed during ad-hoc testing (in a table similar to
in Appendix E would be best)
10%1. A high-level description of the ad-hoc testing plan
Lab Report (70%)
Vahid Garousi, CSEE&T 2010 11
Lab 1.
Introduction to Testing and Defect Tracking
A template for lab reports
(to be filled out by
students)…
Made it easier for the
students, the instructor and
the TA
Vahid Garousi, CSEE&T 2010 12
Lab 1.
Introduction to Testing and Defect Tracking
An example of students’ works…
Vahid Garousi, CSEE&T 2010 13
Lab 1.
Introduction to Testing and Defect Tracking
Students’ works…
Vahid Garousi, CSEE&T 2010 14
Lab 1.
Introduction to Testing and Defect Tracking
Feedback from students…
“This was a very realistic lab. It clearly involves
works and concepts useful outside of school.
This lab has shown the complications involved in
conducting software testing, and that it is no trivial
task.
This lab was quite the learning adventure.
It also gave me the exposure to challenges with
testing and learning the system efficiently (i.e.,,
unclear requirements), which prepared me to deal
with the future ones [systems].”
And much more…
Vahid Garousi, CSEE&T 2010 15
Lab 1.
Introduction to Testing and Defect Tracking
Feedbacks for improvements from students…
“One could say that the instructions were too detailed and
reading it over and trying to keep track of all the points were
frustrating.
vs. I have to admit that contents of the lab manual were
extremely organized which helped me overcoming how
much information was provided
I think the only thing I did not like about the lab was how
contrived the defects were in the SUT.”
Vahid Garousi, CSEE&T 2010 16
Five Labs
1. Introduction to Testing and Defect Tracking
2. Requirements-Based Test Generation
3. Code Coverage, Adequacy Criteria and Test Case
Correlation
4. Functional GUI Testing
5. Mutation Testing and Analysis
Vahid Garousi, CSEE&T 2010 17
Lab 2. Requirements-Based Test Generation
Goals:
Deriving unit test from Javadoc API Specifications
Using JUnit
SUT: JFreeChart
Testing tool: JUnit
Vahid Garousi, CSEE&T 2010 18
Lab 2. Requirements-Based Test Generation
Students applied the equivalence partitioning technique based
on Javadoc API Specifications
Vahid Garousi, CSEE&T 2010 19
Lab 2. Requirements-Based Test Generation
Some of the feedback from students…
“Overall, the whole experience working with unit testing and
bug reporting was great.
It also allowed us to deal with inexplicit requirements and
helped prepare ourselves for future unit testing challenges.
We learned the importance of peer review in creating effective
test suites and bug report.
It allowed us to put the idea of equivalence class analysis into
real situation practice. .”
And much more …
Vahid Garousi, CSEE&T 2010 20
Lab 2. Requirements-Based Test Generation
Feedbacks for improvements from students…
“The lab could be improved by also showing, or at
least explaining, the different between JUnit 3 and
JUnit 4.
Because of the number of tests that needed to be
done, this lab was very long and repetitive.
The first important lesson that I got from this lab is
that we should avoid the testing department in our
career paths.
It is pretty tedious and copy/pasting and changing
method names slightly all day is unimaginative.”
Vahid Garousi, CSEE&T 2010 21
Five labs
1. Introduction to Testing and Defect Tracking
2. Requirements-Based Test Generation
3. Code Coverage, Adequacy Criteria and Test Case
Correlation
4. Functional GUI Testing
5. Mutation Testing and Analysis
Vahid Garousi, CSEE&T 2010 22
Lab 3.
Code Coverage, Adequacy Criteria and Test Case
Correlation
SUT: JFreeChart (the test suites of lab 2)
Testing tools:
JUnit
CodeCover
CoverLipse
In this lab, students enhanced the code coverage of
the test suites they had developed in lab 2.
Vahid Garousi, CSEE&T 2010 23
Lab 3.
Code Coverage, Adequacy Criteria and Test Case
Correlation
Some of the feedback from students…
“Our knowledge of testing has been greatly enhanced while
performing this lab.
Getting to know testing in a more structured and systematic
way is more effective in numerous aspects.
Performing code coverage definitely has a great impact in
enhancing or creating more effective test suites.
This lab perfectly replicates an industry situation where
inadequate time is available for testing.
Hence, careful consideration was devoted in prioritizing which
test cases to develop.”
And much more …
Vahid Garousi, CSEE&T 2010 24
Five labs
1. Introduction to Testing and Defect Tracking
2. Requirements-Based Test Generation
3. Code Coverage, Adequacy Criteria and Test Case
Correlation
4. Functional GUI Testing
5. Mutation Testing and Analysis
Vahid Garousi, CSEE&T 2010 25
Lab 4. Functional GUI Testing
SUT: Plazma ERP + CRM
Enterprise Resource Planning (ERP)
Customer Relationship Management (CRM)
Vahid Garousi, CSEE&T 2010 26
Lab 4. Functional GUI Testing
Testing tool: IBM Rational Functional Tester
(version 7)
Vahid Garousi, CSEE&T 2010 27
Lab 4. Functional GUI Testing
Students recorded GUI test cases based on the
requirements given in the UML use cases of the SUT
They then executed (played back) them on the same
version of the SUT.
Vahid Garousi, CSEE&T 2010 28
Lab 4. Functional GUI Testing
Feedbacks for improvements from students…
“For the purpose of this lab, the test suite we derived was
ineffective at benefiting our testing experience;
What this indicates to me is that this lab needs a second part
to be more useful.
If the suite was created, and then a second version of the GUI
was used for a re-run of the test suite, it would have been far
more effective.
This would have shown us the effectiveness and use of the
test suite.”
Vahid Garousi, CSEE&T 2010 29
Five labs
1. Introduction to Testing and Defect Tracking
2. Requirements-Based Test Generation
3. Code Coverage, Adequacy Criteria and Test Case Correlation
4. Functional GUI Testing
5. Mutation Testing and Analysis
Vahid Garousi, CSEE&T 2010 30
Lab 5. Mutation Testing and Analysis
SUT: JFreeChart (test suites created in labs 2 and 3)
Testing tool: MuClipse plug-in for Eclipse
Arithmetic Operator
Replacement for Binary
operator
Vahid Garousi, CSEE&T 2010 31
Known uses
Vahid Garousi, CSEE&T 2010 32
Summary and Lessons Learned
Our experience showed that the labware was (for the most part) a
successful leaning experience for students…
The feedback given by students for improvement are being taken
into account to enhance the labware.
Overall, the author recommends that testing educators should
align the choices of SUTs and testing tools with the following
criteria…
The ultimate goal of the particular course at hand, e.g.,
learning goals and the end product (the type of testers)
needed at the end of the course
The type and background of the students
and also the time and resources available in the given
course, e.g., are tool licenses free, or are their costs within
budget?
Vahid Garousi, CSEE&T 2010 33
This Cab Courseware is Available
Online
Vahid Garousi, CSEE&T 2010 34
Thanks for your attention.
Q/A period…

More Related Content

What's hot

Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...Vahid Garousi
 
Industry-academia collaborations in software engineering research: Experience...
Industry-academia collaborations in software engineering research: Experience...Industry-academia collaborations in software engineering research: Experience...
Industry-academia collaborations in software engineering research: Experience...Vahid Garousi
 
Ctfl 001 q&a-demo-exam-area
Ctfl 001 q&a-demo-exam-areaCtfl 001 q&a-demo-exam-area
Ctfl 001 q&a-demo-exam-areaSamanthaGreen16
 
Istqb sample paper 2011- www.ajoysingha.info
Istqb sample paper   2011- www.ajoysingha.infoIstqb sample paper   2011- www.ajoysingha.info
Istqb sample paper 2011- www.ajoysingha.infoTestingGeeks
 
Istqb foundation level
Istqb foundation levelIstqb foundation level
Istqb foundation levelLe Trung Hieu
 
Istqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singhaIstqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singhaTestingGeeks
 
500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011Helen Nguyễn
 
Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...
Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...
Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...TEST Huddle
 
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!TEST Huddle
 
Ieee c57123 ieee_guide_for_transformer_loss_management_200204
Ieee c57123 ieee_guide_for_transformer_loss_management_200204Ieee c57123 ieee_guide_for_transformer_loss_management_200204
Ieee c57123 ieee_guide_for_transformer_loss_management_200204Raymund Cortez
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testingKadharBashaJ
 
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...TEST Huddle
 
Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...
Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...
Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...Muhammad Jazman
 
Career paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineeringCareer paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineeringVahid Garousi
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbupalla subrahmanyam
 

What's hot (20)

Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...Industry-academia collaborations in software testing: Success stories from Ca...
Industry-academia collaborations in software testing: Success stories from Ca...
 
Industry-academia collaborations in software engineering research: Experience...
Industry-academia collaborations in software engineering research: Experience...Industry-academia collaborations in software engineering research: Experience...
Industry-academia collaborations in software engineering research: Experience...
 
Ctfl 001 q&a-demo-exam-area
Ctfl 001 q&a-demo-exam-areaCtfl 001 q&a-demo-exam-area
Ctfl 001 q&a-demo-exam-area
 
Test
TestTest
Test
 
Istqb sample paper 2011- www.ajoysingha.info
Istqb sample paper   2011- www.ajoysingha.infoIstqb sample paper   2011- www.ajoysingha.info
Istqb sample paper 2011- www.ajoysingha.info
 
Istqb foundation level
Istqb foundation levelIstqb foundation level
Istqb foundation level
 
Istqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singhaIstqb iseb bh0-010-ajoy_singha
Istqb iseb bh0-010-ajoy_singha
 
500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011
 
ISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
ISTQB Technical Test Analyst 2012 Training - Structure-Based TestingISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
ISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
 
Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...
Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...
Markus Gartner - Alternative Paths for Self-Education in Software Testing - E...
 
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
Elise Greveraars - Tester Needed? No Thanks, We Use MBT!
 
Hai
HaiHai
Hai
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
AUG-17 (2013) ISTQB PAPER
AUG-17 (2013) ISTQB PAPERAUG-17 (2013) ISTQB PAPER
AUG-17 (2013) ISTQB PAPER
 
Ieee c57123 ieee_guide_for_transformer_loss_management_200204
Ieee c57123 ieee_guide_for_transformer_loss_management_200204Ieee c57123 ieee_guide_for_transformer_loss_management_200204
Ieee c57123 ieee_guide_for_transformer_loss_management_200204
 
Qa mockup interview for automation testing
Qa mockup interview for automation testingQa mockup interview for automation testing
Qa mockup interview for automation testing
 
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
Using Functional ,Test Automation to Prevent Defects from Escaping the Develo...
 
Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...
Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...
Graham et.al, 2008, Foundations of Software Testing ISTQB Certification. Chap...
 
Career paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineeringCareer paths, training and learning resources in software test engineering
Career paths, training and learning resources in software test engineering
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbu
 

Similar to An Open Modern Software Testing Laboratory Courseware: An Experience Report

Ôn tập kiến thức ISTQB
Ôn tập kiến thức ISTQBÔn tập kiến thức ISTQB
Ôn tập kiến thức ISTQBJenny Nguyen
 
Question ISTQB foundation 3
Question ISTQB foundation 3Question ISTQB foundation 3
Question ISTQB foundation 3Jenny Nguyen
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
Business value assurance / Advanced DWH testing
Business value assurance / Advanced DWH testingBusiness value assurance / Advanced DWH testing
Business value assurance / Advanced DWH testingPrashanth BS
 
Test First Model for Application in the Academic Setting
Test First Model for Application in the Academic SettingTest First Model for Application in the Academic Setting
Test First Model for Application in the Academic SettingjournalBEEI
 
Foundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justificationFoundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justificationVenera Romanova
 
Software testing
Software testingSoftware testing
Software testingthaneofife
 
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdfExploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdfpCloudy
 
1651003086422.pptx
1651003086422.pptx1651003086422.pptx
1651003086422.pptxSravya221181
 
Experiences in shift left test approach
Experiences in shift left test approachExperiences in shift left test approach
Experiences in shift left test approachJournal Papers
 
Usability Primer - for Alberta Municipal Webmasters Working Group
Usability Primer - for Alberta Municipal Webmasters Working GroupUsability Primer - for Alberta Municipal Webmasters Working Group
Usability Primer - for Alberta Municipal Webmasters Working GroupNormanMendoza
 
Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of TestingCode95
 
A Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering EducationA Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering EducationAshley Hernandez
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answersTestbytes
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016Per Runeson
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2Yogindernath Gupta
 
Bab i fundamental of testing
Bab i fundamental of testingBab i fundamental of testing
Bab i fundamental of testingSyakir Arsalan
 

Similar to An Open Modern Software Testing Laboratory Courseware: An Experience Report (20)

Ôn tập kiến thức ISTQB
Ôn tập kiến thức ISTQBÔn tập kiến thức ISTQB
Ôn tập kiến thức ISTQB
 
Question ISTQB foundation 3
Question ISTQB foundation 3Question ISTQB foundation 3
Question ISTQB foundation 3
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Business value assurance / Advanced DWH testing
Business value assurance / Advanced DWH testingBusiness value assurance / Advanced DWH testing
Business value assurance / Advanced DWH testing
 
Test First Model for Application in the Academic Setting
Test First Model for Application in the Academic SettingTest First Model for Application in the Academic Setting
Test First Model for Application in the Academic Setting
 
Foundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justificationFoundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justification
 
Software testing
Software testingSoftware testing
Software testing
 
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdfExploratory Testing, A Guide Towards Better Test Coverage.pdf
Exploratory Testing, A Guide Towards Better Test Coverage.pdf
 
Ch14
Ch14Ch14
Ch14
 
1651003086422.pptx
1651003086422.pptx1651003086422.pptx
1651003086422.pptx
 
manual interview q.pdf
manual interview q.pdfmanual interview q.pdf
manual interview q.pdf
 
Experiences in shift left test approach
Experiences in shift left test approachExperiences in shift left test approach
Experiences in shift left test approach
 
Usability Primer - for Alberta Municipal Webmasters Working Group
Usability Primer - for Alberta Municipal Webmasters Working GroupUsability Primer - for Alberta Municipal Webmasters Working Group
Usability Primer - for Alberta Municipal Webmasters Working Group
 
Fundamentals of Testing
Fundamentals of TestingFundamentals of Testing
Fundamentals of Testing
 
A Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering EducationA Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering Education
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answers
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Bab i fundamental of testing
Bab i fundamental of testingBab i fundamental of testing
Bab i fundamental of testing
 
Check upload1
Check upload1Check upload1
Check upload1
 

More from Vahid Garousi

Experience and best practices from automated software testing in the finance ...
Experience and best practices from automated software testing in the finance ...Experience and best practices from automated software testing in the finance ...
Experience and best practices from automated software testing in the finance ...Vahid Garousi
 
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Vahid Garousi
 
Benefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering ResearchBenefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering ResearchVahid Garousi
 
Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...Vahid Garousi
 
Experience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software EngineeringExperience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software EngineeringVahid Garousi
 
Sustainability of Scientific Software: Experience from Several Projects
Sustainability of Scientific Software: Experience from Several ProjectsSustainability of Scientific Software: Experience from Several Projects
Sustainability of Scientific Software: Experience from Several ProjectsVahid Garousi
 
An overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in AndroidAn overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in AndroidVahid Garousi
 
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...Vahid Garousi
 
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...Vahid Garousi
 
Deciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projectsDeciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projectsVahid Garousi
 
Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...Vahid Garousi
 
Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...Vahid Garousi
 
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Vahid Garousi
 
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...Vahid Garousi
 
Software engineering of scientific software
Software engineering of scientific softwareSoftware engineering of scientific software
Software engineering of scientific softwareVahid Garousi
 
Vahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi
 
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...Vahid Garousi
 
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...Vahid Garousi
 
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...Vahid Garousi
 
UML-Driven Software Performance Engineering: A systematic mapping and a revie...
UML-Driven Software Performance Engineering: A systematic mapping and a revie...UML-Driven Software Performance Engineering: A systematic mapping and a revie...
UML-Driven Software Performance Engineering: A systematic mapping and a revie...Vahid Garousi
 

More from Vahid Garousi (20)

Experience and best practices from automated software testing in the finance ...
Experience and best practices from automated software testing in the finance ...Experience and best practices from automated software testing in the finance ...
Experience and best practices from automated software testing in the finance ...
 
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
 
Benefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering ResearchBenefitting from the Grey Literature in Software Engineering Research
Benefitting from the Grey Literature in Software Engineering Research
 
Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...Slides for for JSS "Happy Hour": Aligning software engineering education with...
Slides for for JSS "Happy Hour": Aligning software engineering education with...
 
Experience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software EngineeringExperience in conducting 19 secondary (survey) studies in Software Engineering
Experience in conducting 19 secondary (survey) studies in Software Engineering
 
Sustainability of Scientific Software: Experience from Several Projects
Sustainability of Scientific Software: Experience from Several ProjectsSustainability of Scientific Software: Experience from Several Projects
Sustainability of Scientific Software: Experience from Several Projects
 
An overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in AndroidAn overview of automated test suites and defect density in Android
An overview of automated test suites and defect density in Android
 
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
inforte.fi invited talk-Day 2: Conducting industry-relevant software enginee...
 
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
inforte.fi invited talk-Day 1: Conducting industry-relevant software engineer...
 
Deciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projectsDeciding what and when to automate in testing: Experience from multiple projects
Deciding what and when to automate in testing: Experience from multiple projects
 
Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...Engineering software systems for improving the operational efficiency of oil ...
Engineering software systems for improving the operational efficiency of oil ...
 
Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...Introducing automated GUI testing and observing its benefits: an industrial c...
Introducing automated GUI testing and observing its benefits: an industrial c...
 
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
Working with Students to Co-design and Enhance Realistic (Modern) Exercises f...
 
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
Choosing the Right Testing Tools and Systems Under Test (SUTs) for Practical ...
 
Software engineering of scientific software
Software engineering of scientific softwareSoftware engineering of scientific software
Software engineering of scientific software
 
Vahid Garousi-SE meets robotics
Vahid Garousi-SE meets roboticsVahid Garousi-SE meets robotics
Vahid Garousi-SE meets robotics
 
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
Üniversite Yazılım Mühendisliği programları müfredatının SWEBOK kılavuzu kull...
 
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
In Turkish: Yazılım Test-Kod Mühendisliği (YTKM): Kaliteli Test-Kodu Geliştir...
 
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
 
UML-Driven Software Performance Engineering: A systematic mapping and a revie...
UML-Driven Software Performance Engineering: A systematic mapping and a revie...UML-Driven Software Performance Engineering: A systematic mapping and a revie...
UML-Driven Software Performance Engineering: A systematic mapping and a revie...
 

Recently uploaded

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 

An Open Modern Software Testing Laboratory Courseware: An Experience Report

  • 1. Vahid Garousi, CSEE&T 2010 1 An Open Modern Software Testing Laboratory Courseware – An Experience Report Vahid Garousi, PhD, PEng Software Quality Engineering Research Group (SoftQual) Schulich School of Engineering University of Calgary, Canada CSEE&T 2010, Pittsburgh, PA, USA (March 11, 2010) (some of my students:)
  • 2. Vahid Garousi, CSEE&T 2010 2 Background The speaker believes that we have a few good textbooks on SW testing, e.g.: by Aditya P. Mathur (2008) by Paul Ammann, Jeff Offutt (2008) by Sagar Naik and Piyu Tripathy’s (2008) But frankly speaking, there are not many publicly-available testing courseware for testing educators to adapt and customize The drawbacks of majority of the existing testing lab exercises: They are not kept up-to-date with the most recent testing tools and technologies, e.g., JUnit are not built based on real-world large-scale SUTs A brief comparison next… A survey on this topic has been done by the speaker and is available from his website
  • 3. Vahid Garousi, CSEE&T 2010 3 A small library book loan systemTests were automated using Unix command-line scripts Queen's University [6] A office suite called TerpOffice (developed internally at UMD) JUnitUniversity of Maryland [5] A 49-LOC C programProteumIM-2.0 (mutation tool) www.google.comJMeter A hypothetical library checkout system Telcordia AR Greenhouse Efficient Test Case Generation Service (AETG) A 73-LOC C programxSuds (coverage analysis tool) A simple Triangle classJUnitPurdue University [4] A VoIP application developed by students in a previous course JUnit, CPPUnitUniversity of Waterloo [3] Presentation tool, part of the Open Office suite None (students apparently used the black-box techniques manually). Florida Institute of Technology [2] A simple hypothetical landing gear safety system, and an Automatic Teller Machine JUnitCarleton University [1] SUT(s)Testing tool(s)Testing course at Several Software Testing Lab Exercises Currently in Use in North American Universities
  • 4. Vahid Garousi, CSEE&T 2010 4 Motivations The above needs were the main motive for the speaker to work with a new graduate of our SW engineering program to … The goal was: to modernize and re-design the labs of an undergraduate testing course, i.e., Practical Exercises Real-world testing tools Realistic/large-scale SUTs
  • 5. Vahid Garousi, CSEE&T 2010 5 We came up with Five Lab Exercises 1. Introduction to Testing and Defect Tracking 2. Requirements-Based Test Generation 3. Code Coverage, Adequacy Criteria and Test Case Correlation 4. Functional GUI Testing 5. Mutation Testing and Analysis 6. Performance, Security and Stress Testing • Was in the original plan. • But we felt that there would not be enough time for it during the course. • Was thus pitifully removed from the labware Details about the five labs, next…
  • 6. Vahid Garousi, CSEE&T 2010 6 This Cab Courseware is Available Online
  • 7. Vahid Garousi, CSEE&T 2010 7 Lab 1. Introduction to Testing and Defect Tracking Goals: Getting hands-on experience in ad-hoc, manual and regression testing Using industrial defect tracking practices and tools (Bugzilla) Experiencing that ad-hoc testing is not always very effective SUT: An ATM simulation system Testing support tool: Bugzilla Realistic defects were manually injected in the SUT
  • 8. Vahid Garousi, CSEE&T 2010 8 Lab 1. Introduction to Testing and Defect Tracking Lab document (instructions)… Extensive effort was spent to prepare clear, concise and “interesting” lab exercises… Involving a recent good student helped a lot in this aspect
  • 9. Vahid Garousi, CSEE&T 2010 9 Lab 1. Introduction to Testing and Defect Tracking Marking Scheme 10%Number of defects found: Note that not all defects need to be found. But if it appears that not enough effort was made in finding defects, marks may be deducted. 10%Clarity and adherence to defect reporting guidelines 10%Correctness Bugzilla Defect Reports (30%) • Bugzilla Defect Reports (30%) Lab Report (70%)
  • 10. Vahid Garousi, CSEE&T 2010 10 Lab 1. Introduction to Testing and Defect Tracking Marking Scheme 10% 6. Any difficulties encountered, challenges overcome, and lessons learned from performing the lab 10% 5. A discussion on how the team work/effort was divided and managed. Any lessons learned from your teamwork on this lab? 10%4. Notes and a discussion of the peer reviews of defect reports. 20% 3. A comparison of ad-hoc and manual functional testing (based on the provided test suite) from several perspectives (e.g., benefits, tradeoffs, effectiveness, efficiency, etc.) 10% 2. The test cases performed during ad-hoc testing (in a table similar to in Appendix E would be best) 10%1. A high-level description of the ad-hoc testing plan Lab Report (70%)
  • 11. Vahid Garousi, CSEE&T 2010 11 Lab 1. Introduction to Testing and Defect Tracking A template for lab reports (to be filled out by students)… Made it easier for the students, the instructor and the TA
  • 12. Vahid Garousi, CSEE&T 2010 12 Lab 1. Introduction to Testing and Defect Tracking An example of students’ works…
  • 13. Vahid Garousi, CSEE&T 2010 13 Lab 1. Introduction to Testing and Defect Tracking Students’ works…
  • 14. Vahid Garousi, CSEE&T 2010 14 Lab 1. Introduction to Testing and Defect Tracking Feedback from students… “This was a very realistic lab. It clearly involves works and concepts useful outside of school. This lab has shown the complications involved in conducting software testing, and that it is no trivial task. This lab was quite the learning adventure. It also gave me the exposure to challenges with testing and learning the system efficiently (i.e.,, unclear requirements), which prepared me to deal with the future ones [systems].” And much more…
  • 15. Vahid Garousi, CSEE&T 2010 15 Lab 1. Introduction to Testing and Defect Tracking Feedbacks for improvements from students… “One could say that the instructions were too detailed and reading it over and trying to keep track of all the points were frustrating. vs. I have to admit that contents of the lab manual were extremely organized which helped me overcoming how much information was provided I think the only thing I did not like about the lab was how contrived the defects were in the SUT.”
  • 16. Vahid Garousi, CSEE&T 2010 16 Five Labs 1. Introduction to Testing and Defect Tracking 2. Requirements-Based Test Generation 3. Code Coverage, Adequacy Criteria and Test Case Correlation 4. Functional GUI Testing 5. Mutation Testing and Analysis
  • 17. Vahid Garousi, CSEE&T 2010 17 Lab 2. Requirements-Based Test Generation Goals: Deriving unit test from Javadoc API Specifications Using JUnit SUT: JFreeChart Testing tool: JUnit
  • 18. Vahid Garousi, CSEE&T 2010 18 Lab 2. Requirements-Based Test Generation Students applied the equivalence partitioning technique based on Javadoc API Specifications
  • 19. Vahid Garousi, CSEE&T 2010 19 Lab 2. Requirements-Based Test Generation Some of the feedback from students… “Overall, the whole experience working with unit testing and bug reporting was great. It also allowed us to deal with inexplicit requirements and helped prepare ourselves for future unit testing challenges. We learned the importance of peer review in creating effective test suites and bug report. It allowed us to put the idea of equivalence class analysis into real situation practice. .” And much more …
  • 20. Vahid Garousi, CSEE&T 2010 20 Lab 2. Requirements-Based Test Generation Feedbacks for improvements from students… “The lab could be improved by also showing, or at least explaining, the different between JUnit 3 and JUnit 4. Because of the number of tests that needed to be done, this lab was very long and repetitive. The first important lesson that I got from this lab is that we should avoid the testing department in our career paths. It is pretty tedious and copy/pasting and changing method names slightly all day is unimaginative.”
  • 21. Vahid Garousi, CSEE&T 2010 21 Five labs 1. Introduction to Testing and Defect Tracking 2. Requirements-Based Test Generation 3. Code Coverage, Adequacy Criteria and Test Case Correlation 4. Functional GUI Testing 5. Mutation Testing and Analysis
  • 22. Vahid Garousi, CSEE&T 2010 22 Lab 3. Code Coverage, Adequacy Criteria and Test Case Correlation SUT: JFreeChart (the test suites of lab 2) Testing tools: JUnit CodeCover CoverLipse In this lab, students enhanced the code coverage of the test suites they had developed in lab 2.
  • 23. Vahid Garousi, CSEE&T 2010 23 Lab 3. Code Coverage, Adequacy Criteria and Test Case Correlation Some of the feedback from students… “Our knowledge of testing has been greatly enhanced while performing this lab. Getting to know testing in a more structured and systematic way is more effective in numerous aspects. Performing code coverage definitely has a great impact in enhancing or creating more effective test suites. This lab perfectly replicates an industry situation where inadequate time is available for testing. Hence, careful consideration was devoted in prioritizing which test cases to develop.” And much more …
  • 24. Vahid Garousi, CSEE&T 2010 24 Five labs 1. Introduction to Testing and Defect Tracking 2. Requirements-Based Test Generation 3. Code Coverage, Adequacy Criteria and Test Case Correlation 4. Functional GUI Testing 5. Mutation Testing and Analysis
  • 25. Vahid Garousi, CSEE&T 2010 25 Lab 4. Functional GUI Testing SUT: Plazma ERP + CRM Enterprise Resource Planning (ERP) Customer Relationship Management (CRM)
  • 26. Vahid Garousi, CSEE&T 2010 26 Lab 4. Functional GUI Testing Testing tool: IBM Rational Functional Tester (version 7)
  • 27. Vahid Garousi, CSEE&T 2010 27 Lab 4. Functional GUI Testing Students recorded GUI test cases based on the requirements given in the UML use cases of the SUT They then executed (played back) them on the same version of the SUT.
  • 28. Vahid Garousi, CSEE&T 2010 28 Lab 4. Functional GUI Testing Feedbacks for improvements from students… “For the purpose of this lab, the test suite we derived was ineffective at benefiting our testing experience; What this indicates to me is that this lab needs a second part to be more useful. If the suite was created, and then a second version of the GUI was used for a re-run of the test suite, it would have been far more effective. This would have shown us the effectiveness and use of the test suite.”
  • 29. Vahid Garousi, CSEE&T 2010 29 Five labs 1. Introduction to Testing and Defect Tracking 2. Requirements-Based Test Generation 3. Code Coverage, Adequacy Criteria and Test Case Correlation 4. Functional GUI Testing 5. Mutation Testing and Analysis
  • 30. Vahid Garousi, CSEE&T 2010 30 Lab 5. Mutation Testing and Analysis SUT: JFreeChart (test suites created in labs 2 and 3) Testing tool: MuClipse plug-in for Eclipse Arithmetic Operator Replacement for Binary operator
  • 31. Vahid Garousi, CSEE&T 2010 31 Known uses
  • 32. Vahid Garousi, CSEE&T 2010 32 Summary and Lessons Learned Our experience showed that the labware was (for the most part) a successful leaning experience for students… The feedback given by students for improvement are being taken into account to enhance the labware. Overall, the author recommends that testing educators should align the choices of SUTs and testing tools with the following criteria… The ultimate goal of the particular course at hand, e.g., learning goals and the end product (the type of testers) needed at the end of the course The type and background of the students and also the time and resources available in the given course, e.g., are tool licenses free, or are their costs within budget?
  • 33. Vahid Garousi, CSEE&T 2010 33 This Cab Courseware is Available Online
  • 34. Vahid Garousi, CSEE&T 2010 34 Thanks for your attention. Q/A period…