SlideShare a Scribd company logo
1 of 13
Generating Automated Feedback To
Improve Software Testing Quality
Prepared by -
Advisors -
Pratik Gundlupet Venkatesh
Dr. Kevin Buffardi
INTRODUCTION
Assisting students to implement meaningful software code and
to identify whether they have adequately tested. It is important
to provide feedback of the shortcomings in both solution
correctness and thoroughness in testing.
PROBLEM STATEMENT
Writing meaningful software tests and receiving feedback is
difficult for students when writing code. We describe a model
for scaffolding feedback to encourage students to reflect over
their code and write effective software tests to reveal bugs
instead of relying on external sources or by performing trial and
error techniques.
EXAMPLE● A student might have tested
thoroughly and covered all the
unit test cases but, fails in
instructor’s unit test(s).
○ Switching of arguments.
○ misunderstanding
requirements
● Implementation is correct but, no
thorough testing and branch
coverage done.
RESEARCH QUESTIONS
● How does the feedback influence the quality of the solution
code and unit tests?
● Can we show students better development habits as a
response to reflective feedback?
SIGNIFICANCE
The goal is to problem solve by evaluating the test cases they have
written rather than depending on someone else to identify the
bugs. The primary effect we will observe is how the quality of
student's testing changes in consecutive submissions to
Testoscope, an educational software testing tool, after receiving
the adaptive feedback that is meant to encourage reflection.
LITERATURE REVIEW
This research is based on article Reconsidering Automation
Feedback: A Test-Driven Approach by Dr. Kevin Buffardi and
Stephen H Edwards. It discusses on giving feedback to students on
their assignments on both solution correctness and thoroughness
of testing. Article encourage students to reflect over their code and
concentrate on writing effective software tests to reveal bugs
instead of relying on external sources.
METHODOLOGY
Student Unit Test(s)
Instructor Unit Test(s)
Solution code
Covered
Not
Covered
FAIL
FAIL
PASS
PASS
CONTRIBUTION
● Identify those functions which are causing bugs, and how well the students
have tested the function(s).
● Modify the logic to interpret google-test output by parsing XML and
gcov output by Regular Expressions to extract function signatures.
● Given the signatures, determine function(s) in order to provide
immediate feedback for test results.
CONCLUSION
● We provided a mechanism for immediate feedback to
students based on their test results.
● Improved the effectiveness of the student software unit
tests instead of depending on external sources to reveal
bugs.
FUTURE WORK
● Categorize feedback based on solution code coverage.
● Doing a real world case study with multiple students solution
code on a programing assignment.
● Perform a repeated measures study on the feedback to
observe continuous improvement across multiple submissions
of an assignment.
REFERENCE
Reference article is Reconsidering Automated Feedback: A Test-
Driven Approach by Dr. Kevin Buffardi and Stephen H Edwards
published in the year 2015 at the proceedings of the 46th ACM
Technical Symposium on Computer Science Education.

More Related Content

What's hot

TESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMTESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMPutri nadya Fazri
 
Resume_AnujTiwari
Resume_AnujTiwariResume_AnujTiwari
Resume_AnujTiwariAnuj Tiwari
 
Distinguishing points between retesting and regression testing
Distinguishing points between retesting and regression testingDistinguishing points between retesting and regression testing
Distinguishing points between retesting and regression testingpooja deshmukh
 
A Methodology for Enhancing Programming Competence of Students Using Parikshak
A Methodology for Enhancing Programming Competence of Students Using ParikshakA Methodology for Enhancing Programming Competence of Students Using Parikshak
A Methodology for Enhancing Programming Competence of Students Using ParikshakArchana Rane-Sharma
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testingAlisha Henderson
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gapGuillagui San
 
The Essentials Of Test Driven Development
The Essentials Of Test Driven Development The Essentials Of Test Driven Development
The Essentials Of Test Driven Development Rock Interview
 
Pooja_Koparde_Testing
Pooja_Koparde_TestingPooja_Koparde_Testing
Pooja_Koparde_TestingPooja Koparde
 
Mca5020 advanced software engineering-de
Mca5020   advanced software engineering-deMca5020   advanced software engineering-de
Mca5020 advanced software engineering-desmumbahelp
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
A recipe for game development assignments in cs2
A recipe for game development assignments in cs2A recipe for game development assignments in cs2
A recipe for game development assignments in cs2Jude Allred
 
Pearson_Psych_Assessment_Platform_Marion_Buchenau
Pearson_Psych_Assessment_Platform_Marion_BuchenauPearson_Psych_Assessment_Platform_Marion_Buchenau
Pearson_Psych_Assessment_Platform_Marion_BuchenauMarion Buchenau
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaEdureka!
 

What's hot (19)

TESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMTESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEM
 
Free PMP Sample Q & A
Free PMP Sample Q & AFree PMP Sample Q & A
Free PMP Sample Q & A
 
CV
CVCV
CV
 
Free PMP Sample Q & A
Free PMP Sample Q & AFree PMP Sample Q & A
Free PMP Sample Q & A
 
Resume_AnujTiwari
Resume_AnujTiwariResume_AnujTiwari
Resume_AnujTiwari
 
Distinguishing points between retesting and regression testing
Distinguishing points between retesting and regression testingDistinguishing points between retesting and regression testing
Distinguishing points between retesting and regression testing
 
A Methodology for Enhancing Programming Competence of Students Using Parikshak
A Methodology for Enhancing Programming Competence of Students Using ParikshakA Methodology for Enhancing Programming Competence of Students Using Parikshak
A Methodology for Enhancing Programming Competence of Students Using Parikshak
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testing
 
PMP Exam Sample Questions
PMP Exam Sample QuestionsPMP Exam Sample Questions
PMP Exam Sample Questions
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gap
 
Mohit
MohitMohit
Mohit
 
The Essentials Of Test Driven Development
The Essentials Of Test Driven Development The Essentials Of Test Driven Development
The Essentials Of Test Driven Development
 
Pooja_Koparde_Testing
Pooja_Koparde_TestingPooja_Koparde_Testing
Pooja_Koparde_Testing
 
Mca5020 advanced software engineering-de
Mca5020   advanced software engineering-deMca5020   advanced software engineering-de
Mca5020 advanced software engineering-de
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
A recipe for game development assignments in cs2
A recipe for game development assignments in cs2A recipe for game development assignments in cs2
A recipe for game development assignments in cs2
 
Deepak_CV
Deepak_CVDeepak_CV
Deepak_CV
 
Pearson_Psych_Assessment_Platform_Marion_Buchenau
Pearson_Psych_Assessment_Platform_Marion_BuchenauPearson_Psych_Assessment_Platform_Marion_Buchenau
Pearson_Psych_Assessment_Platform_Marion_Buchenau
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
 

Similar to Generating Automated Feedback

Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Maurício Aniche
 
InCycle Software presents: Quality enablement using agile practices with TFS ...
InCycle Software presents: Quality enablement using agile practices with TFS ...InCycle Software presents: Quality enablement using agile practices with TFS ...
InCycle Software presents: Quality enablement using agile practices with TFS ...InCycle Software
 
Software presentation
Software presentationSoftware presentation
Software presentationJennaPrengle
 
Tdd and-design-draft
Tdd and-design-draftTdd and-design-draft
Tdd and-design-draftPrabudhGupta1
 
Research Activities: past, present, and future.
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.Marco Torchiano
 
phase_1 (1).pdf
phase_1 (1).pdfphase_1 (1).pdf
phase_1 (1).pdfAnshPaul2
 
Resume 21 10 2015(5 yrs)
Resume 21 10 2015(5 yrs)Resume 21 10 2015(5 yrs)
Resume 21 10 2015(5 yrs)Asha Katol
 
Manual Testing real time questions .pdf
Manual Testing real time questions .pdfManual Testing real time questions .pdf
Manual Testing real time questions .pdfTiktokIndia2
 
Lecture 3. Computer-based assessment
Lecture 3. Computer-based assessmentLecture 3. Computer-based assessment
Lecture 3. Computer-based assessmentGeorgiy Gerkushenko
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx14941
 
Software testing
Software testingSoftware testing
Software testingthaneofife
 

Similar to Generating Automated Feedback (20)

Req2014_Fall-Final
Req2014_Fall-FinalReq2014_Fall-Final
Req2014_Fall-Final
 
Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019
 
Jplas
Jplas Jplas
Jplas
 
Check upload1
Check upload1Check upload1
Check upload1
 
Prvt file test
Prvt file testPrvt file test
Prvt file test
 
InCycle Software presents: Quality enablement using agile practices with TFS ...
InCycle Software presents: Quality enablement using agile practices with TFS ...InCycle Software presents: Quality enablement using agile practices with TFS ...
InCycle Software presents: Quality enablement using agile practices with TFS ...
 
Software presentation
Software presentationSoftware presentation
Software presentation
 
kapil_updated
kapil_updatedkapil_updated
kapil_updated
 
Tdd and-design-draft
Tdd and-design-draftTdd and-design-draft
Tdd and-design-draft
 
Research Activities: past, present, and future.
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.
 
phase_1 (1).pdf
phase_1 (1).pdfphase_1 (1).pdf
phase_1 (1).pdf
 
Resume 21 10 2015(5 yrs)
Resume 21 10 2015(5 yrs)Resume 21 10 2015(5 yrs)
Resume 21 10 2015(5 yrs)
 
Manual Testing real time questions .pdf
Manual Testing real time questions .pdfManual Testing real time questions .pdf
Manual Testing real time questions .pdf
 
Resume_Prashant
Resume_PrashantResume_Prashant
Resume_Prashant
 
Lecture 3. Computer-based assessment
Lecture 3. Computer-based assessmentLecture 3. Computer-based assessment
Lecture 3. Computer-based assessment
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
 
Jenifer Breeze_Resume
Jenifer Breeze_ResumeJenifer Breeze_Resume
Jenifer Breeze_Resume
 
Software testing
Software testingSoftware testing
Software testing
 
Check upload1
Check upload1Check upload1
Check upload1
 
Testing
TestingTesting
Testing
 

Generating Automated Feedback

  • 1. Generating Automated Feedback To Improve Software Testing Quality Prepared by - Advisors - Pratik Gundlupet Venkatesh Dr. Kevin Buffardi
  • 2. INTRODUCTION Assisting students to implement meaningful software code and to identify whether they have adequately tested. It is important to provide feedback of the shortcomings in both solution correctness and thoroughness in testing.
  • 3. PROBLEM STATEMENT Writing meaningful software tests and receiving feedback is difficult for students when writing code. We describe a model for scaffolding feedback to encourage students to reflect over their code and write effective software tests to reveal bugs instead of relying on external sources or by performing trial and error techniques.
  • 4. EXAMPLE● A student might have tested thoroughly and covered all the unit test cases but, fails in instructor’s unit test(s). ○ Switching of arguments. ○ misunderstanding requirements ● Implementation is correct but, no thorough testing and branch coverage done.
  • 5. RESEARCH QUESTIONS ● How does the feedback influence the quality of the solution code and unit tests? ● Can we show students better development habits as a response to reflective feedback?
  • 6. SIGNIFICANCE The goal is to problem solve by evaluating the test cases they have written rather than depending on someone else to identify the bugs. The primary effect we will observe is how the quality of student's testing changes in consecutive submissions to Testoscope, an educational software testing tool, after receiving the adaptive feedback that is meant to encourage reflection.
  • 7. LITERATURE REVIEW This research is based on article Reconsidering Automation Feedback: A Test-Driven Approach by Dr. Kevin Buffardi and Stephen H Edwards. It discusses on giving feedback to students on their assignments on both solution correctness and thoroughness of testing. Article encourage students to reflect over their code and concentrate on writing effective software tests to reveal bugs instead of relying on external sources.
  • 9. Student Unit Test(s) Instructor Unit Test(s) Solution code Covered Not Covered FAIL FAIL PASS PASS
  • 10. CONTRIBUTION ● Identify those functions which are causing bugs, and how well the students have tested the function(s). ● Modify the logic to interpret google-test output by parsing XML and gcov output by Regular Expressions to extract function signatures. ● Given the signatures, determine function(s) in order to provide immediate feedback for test results.
  • 11. CONCLUSION ● We provided a mechanism for immediate feedback to students based on their test results. ● Improved the effectiveness of the student software unit tests instead of depending on external sources to reveal bugs.
  • 12. FUTURE WORK ● Categorize feedback based on solution code coverage. ● Doing a real world case study with multiple students solution code on a programing assignment. ● Perform a repeated measures study on the feedback to observe continuous improvement across multiple submissions of an assignment.
  • 13. REFERENCE Reference article is Reconsidering Automated Feedback: A Test- Driven Approach by Dr. Kevin Buffardi and Stephen H Edwards published in the year 2015 at the proceedings of the 46th ACM Technical Symposium on Computer Science Education.