SlideShare a Scribd company logo
SOFTWARE DESIGN &
DEVELOPMENT
ON LINE WITH
MR CUSACK
LESSON TOPIC
T3W2 – ERROR TYPES & DETECTION
WHAT TYPES OF ERROR ARE THERE?
HINT: THERE ARE 3 TYPES!
ERROR TYPES AND DETECTION
SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS
ARE NOT AS EXPECTED.
ERROR TYPES AND DETECTION
SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS
ARE NOT AS EXPECTED.
WHAT TYPE OF ERROR ?
ERROR TYPES AND DETECTION
SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS
ARE NOT AS EXPECTED.
WHAT TYPE OF ERROR ?...... LOGIC ERROR
ERROR TYPES AND DETECTION
SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS
ARE NOT AS EXPECTED.
WHAT TYPE OF ERROR ?...... LOGIC ERROR
WHY NOT A SYNTAX ERROR ?
ERROR TYPES AND DETECTION
SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS
ARE NOT AS EXPECTED.
WHAT TYPE OF ERROR ?...... LOGIC ERROR
WHY NOT A SYNTAX ERROR ?
WHY NOT A RUNTIME ERROR ?
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN
EXECUTABLE SOLUTION. THIS FAILS.
WHAT TYPE OF ERROR ?
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN
EXECUTABLE SOLUTION. THIS FAILS.
WHAT TYPE OF ERROR ? SYNTAX ERROR !
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN
EXECUTABLE SOLUTION. THIS FAILS.
WHAT TYPE OF ERROR ? SYNTAX ERROR !
DESCRIBE WHAT HAS CAUSED THIS ERROR
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN
EXECUTABLE SOLUTION. THIS FAILS.
WHAT TYPE OF ERROR ? SYNTAX ERROR !
DESCRIBE WHAT HAS CAUSED THIS ERROR
AT SOME POINT IN THE CODING THE PROGRAMMER HAS ENTERED CODE THAT DOES NOT COMPLY
WITH THE RULES THAT APPLY TO THIS LANGUAGE. I.E. NOT COMPLIED WITH THE SYNTAX RULES
FOR THAT LANGUAGE.
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN
EXECUTABLE SOLUTION. THIS FAILS.
WHAT TYPE OF ERROR ? SYNTAX ERROR !
WHAT IS AVAILABLE TO THE PROGRAMMER TO HELP AVOID THIS ?
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN
EXECUTABLE SOLUTION. THIS FAILS.
WHAT TYPE OF ERROR ? SYNTAX ERROR !
WHAT IS AVAILABLE TO THE PROGRAMMER TO HELP AVOID THIS ?
METALANGUAGES !
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN
EXECUTABLE SOLUTION. THIS FAILS.
WHAT TYPE OF ERROR ? SYNTAX ERROR !
WHAT IS AVAILABLE TO THE PROGRAMMER TO HELP AVOID THIS ?
SYNTAX DEFINITIONS AND HELP IN THE FORM OF METALANGUAGES SUCH AS EBNF AND RAILROAD
DIAGRAMS
MESSAGES WITHIN THE PROGRAMMING ENVIRONMENT THAT REPORT SYNTAX ERRORS AND
SUGGEST CORRECTIONS
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ?
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ? RUNTIME ERROR
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ? RUNTIME ERROR
HOW IS THIS DIFFERENT TO A LOGIC ERROR ?
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ? RUNTIME ERROR
HOW IS THIS DIFFERENT TO A LOGIC ERROR ?
LOGIC ERRORS USUALLY ALLOW THE PROGRAM TO CONTINUE TO RUN…BUT GIVE
UNEXPECTED RESULTS.
RUNTIME ERRORS CRASH (OR REQUIRE RECOVERY)
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ? RUNTIME ERROR
WHAT DID THE USER DO THAT MADE THIS HAPPEN ?
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ? RUNTIME ERROR
WHAT DID THE USER DO THAT MADE THIS HAPPEN ?
PROBABLY ENTERED UNEXPECTED OR INAPPROPRIATE DATA
..OR CREATED EVENTS THAT ARE NOT NORMAL..
..OR WERE NOT ANTICIPATED BY THE PROGRAMMER.
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ? RUNTIME ERROR
WAS THIS THE USERS FAULT ?
ERROR TYPES AND DETECTION
SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER
REPORTS THAT THE PROGRAM HAS “CRASHED”.
WHAT TYPE OF ERROR ? RUNTIME ERROR. WHAT DID THE USER DO THAT MADE THIS
HAPPEN ?
WAS THIS THE USERS FAULT ?
NO ! THE DEVELOPER SHOULD HAVE ALLOWED FOR THIS POSSIBILITY AND INCLUDED
ADEQUATE TRAPS OR CODE SO THAT THE USER CANNOT CAUSE THIS TO HAPPEN
ERROR TYPES SUMMARY
LOGIC ERRORS
SYNTAX ERRORS
RUNTIME ERRORS
ERROR TYPES SUMMARY
LOGIC ERRORS
SYNTAX ERRORS
RUNTIME ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
LOGIC ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
LOGIC ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
THOROUGH CREATION OF TEST DATA AND DESK CHECKING AT PLANNING STAGE
REPEATING OF THIS TESTING AFTER IMPLEMENTATION
SYNTAX ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
SYNTAX ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
IN MOST PROGRAMMING ENVIRONMENTS THE PROGRAMMING TOOL REPORTS SUCH ERRORS
EITHER AS CODE IS CREATED OR WHEN AN ATTEMPT IS MADE TO TRANSLATE THE CODE.
THESE ARE DETECTED BECAUSE THE PROGRAM WON’T RUN !
RUNTIME ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
(PROBABLY THE MOST DIFFICULT TO DETECT)
RUNTIME ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
(PROBABLY THE MOST DIFFICULT TO DETECT)
AT BOTH THE PLANNING AND DURING IMPLEMENTATION AND TESTING THE DEVELOPER HAS
TO PREDICT WHAT USERS CAN DO AND CREATE TEST DATA SETS TO ENSURE THAT ALL OF
THESE POSSIBILITIES ARE COVERED.
RUNTIME ERRORS
HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
(PROBABLY THE MOST DIFFICULT TO DETECT)
AT BOTH THE PLANNING AND DURING IMPLEMENTATION AND TESTING THE DEVELOPER HAS TO
PREDICT WHAT USERS CAN DO AND CREATE TEST DATA SETS TO ENSURE THAT ALL OF THESE
POSSIBILITIES ARE COVERED.
IN THE CASE OF LARGER SOLUTION RUNTIME ERROR DETECTION
IS OFTEN ACHIEVED BY EXTENSIVE BETA TESTING. IN THIS CASE
MANY USERS ARE ASKED TO RUN THE SOLUTION AND REPORT
BACK PROBLEMS. THIS IS ANOTHER WAY TO HOPEFULLY TEST THE
UNEXPECTED.
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF 5
ELEMENTS IN AN ARRAY
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF 5
ELEMENTS IN AN ARRAY
BEGIN
SET TOTAL TO 0
SET COUNTER TO 1
WHILE COUNTER <5
TOTAL = TOTAL + ARRAY(COUNTER)
INCREMENT COUNTER
ENDWHILE
AVERAGE = TOTAL /COUNTER
END
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF 5
ELEMENTS IN AN ARRAY
BEGIN
SET TOTAL TO 0
SET COUNTER TO 1
WHILE COUNTER <5
TOTAL = TOTAL + ARRAY(COUNTER)
INCREMENT COUNTER
ENDWHILE
AVERAGE = TOTAL /COUNTER
END LOGIC ERROR
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF 5
ELEMENTS IN AN ARRAY
VB CODE
WHILE COUNTER < 5
MAKE THE TOTAL = TOTAL + ARRAY (COUNTER)
ENDDO
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF 5
ELEMENTS IN AN ARRAY
VB CODE…. BEHIND THE AVERAGE BUTTON.
WHILE COUNTER < 5
MAKE THE TOTAL = TOTAL + ARRAY (COUNTER)
ENDDO
SYNTAX ERROR
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF
NUMBERS THAT THE USER ENTERS
LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK
LETS ASSUME THAT THE EXE WAS CREATED OK
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF
NUMBERS THAT THE USER ENTERS
LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK
LETS ASSUME THAT THE EXE WAS CREATED OK
NOW THE USER RUNS THE PROGRAM…SEVERAL TIMES AND IT GIVES CORRECT RESULTS
EVERY TIME
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF
NUMBERS THAT THE USER ENTERS
LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK
LETS ASSUME THAT THE EXE WAS CREATED OK
NOW THE USER RUNS THE PROGRAM…SEVERAL TIMES AND IT GIVES CORRECT RESULTS
EVERY TIME
THEN THE USER RUNS THE PROGRAM AGAIN. ENTERS NO NUMBERS AND CLICKS THE
AVERAGE BUTTON
AN EXAMPLE
A PROGRAM TO FIND THE AVERAGE OF
NUMBERS THAT THE USER ENTERS
LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK
LETS ASSUME THAT THE EXE WAS CREATED OK
NOW THE USER RUNS THE PROGRAM…SEVERAL TIMES AND IT GIVES CORRECT RESULTS
EVERY TIME
THEN THE USER RUNS THE PROGRAM AGAIN. ENTERS NO NUMBERS AND CLICKS THE
AVERAGE BUTTON
RUNTIME ERROR….DIVISION BY ZERO
FIXING BUGS
SCENARIO: YOU HAVE COMPLETED CODING AND ATTEMPT TO RUN YOUR (LARGE
MODULAR) PROGRAM.
EITHER A RUNTIME OR A LOGIC ERROR IS APPARENT.
HOW CAN YOU FIND AND FIX THE ERROR ?
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
3. STUBS
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
3. STUBS
4. FLAGS
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
3. STUBS
4. FLAGS
5. PROGRAMMING TOOLS….BREAKPOINTS, STEPPING, WATCH EXPRESSIONS
AN EXAM QUESTION
A LARGE AND COMPLEX PROGRAM CONTAINS MANY MODULES THAT MANIPULATE DATA.
THE PROGRAM PRODUCES INCORRECT OUTPUT, POSSIBLY AS A RESULT OF CALCULATION
ERRORS IN ONE OR MORE MODULES.
DESK CHECKING THE SOURCE CODE AND PEER CHECKING ARE TWO TECHNIQUES THAT
COULD BE USED TO DEBUG THIS PROGRAM.
DESCRIBE HOW OTHER TECHNIQUES COULD BE USED TO HELP LOCATE THE ERRORS IN THIS
PROGRAM.
HSC 2012
AN EXAM QUESTION
A LARGE AND COMPLEX PROGRAM CONTAINS MANY MODULES THAT MANIPULATE DATA. THE PROGRAM PRODUCES
INCORRECT OUTPUT, POSSIBLY AS A RESULT OF CALCULATION ERRORS IN ONE OR
MORE MODULES.
DESK CHECKING THE SOURCE CODE AND PEER CHECKING ARE TWO TECHNIQUES THAT COULD BE USED TO DEBUG THIS
PROGRAM.
DESCRIBE HOW OTHER TECHNIQUES COULD BE USED TO HELP LOCATE THE ERRORS IN THIS PROGRAM.
YOU COULD USE A PROGRAM TRACE TOGETHER WITH A VARIABLE WATCHER TO
CHECK THE CONTENTS OF VARIABLES AT EACH RELEVANT STEP IN THE PROGRAM –
TO MAKE SURE VALUES ARE CALCULATED CORRECTLY. BREAK POINTS SET IN KEY
SUBROUTINES – IN CONJUNCTION WITH A TRACE – CAN BE USED TO ENSURE THESE
SUBROUTINES ARE EXECUTED AND THAT CRITICAL VARIABLES CONTAIN THE
EXPECTED VALUES AT THESE POINTS IN THE EXECUTION. THE USE OF DEBUGGING
OUTPUT STATEMENTS AND FLAGS WILL ALSO ENSURE THAT THE VARIOUS MODULES
ARE EXECUTED APPROPRIATELY.
ERROR DETECTION TOOLS
1. FOCUS ON MODULES
FIND IN WHICH MODULE THE ERROR OCCURS. DETERMINE WHAT THE USER WAS DOING WHEN THE ERROR
HAPPENED ? THEN FOCUS YOUR DETECTION METHODS ON THAT MODULE.
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
INSERT TEMPORARY OUTPUTS (LABELS) THAT TELL US THE VALUE OF KEY VARIABLES. REMOVE THESE WHEN
THE ERROR IS FIXED.
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
INSERT TEMPORARY OUTPUTS (LABELS) THAT TELL US THE VALUE OF KEY VARIABLES. REMOVE THESE WHEN
THE ERROR IS FIXED.
WHAT WOULD BE APPROPRIATE DEBUGGING OUTPUTS IN THE PREVIOUS AVERAGE
CALCULATOR ?
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
INSERT TEMPORARY OUTPUTS (LABELS) THAT TELL US THE VALUE OF KEY VARIABLES. REMOVE THESE WHEN
THE ERROR IS FIXED.
WHAT WOULD BE APPROPRIATE DEBUGGING OUTPUTS IN THE PREVIOUS AVERAGE
CALCULATOR ?
OUTPUT: THE COUNTER, THE TOTAL
TEMPORARILY !
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
3. STUBS
PARTIALLY COMPLETED MODULES (“UNDER CONSTRUCTION”) THAT TELL US THAT NAVIGATION TO A
MODULE HAS WORKED AND THAT PARAMETERS HAVE BEEN SUCCESSFULLY PASSED. PROGRESSIVELY USE
THESE TO REPLACE MODULES IN ORDER TO ISOLATE THE PROBLEM.
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
3. STUBS
4. FLAGS
A SIMPLE BOOLEAN VARIABLE THAT RECORDS A “TRUE” WHEN CERTAIN PARTS OF A PROGRAM ARE
ACCESSED OR STATUSES REACHED. OUTPUT THIS AS A DEBUGGING OUTPUT STATEMENT. USEFUL TO SEE IF
CONDITIONS IN SELECTION AND ITERATION HAVE BEEN MET.
ERROR DETECTION TOOLS
1. FOCUS ON MODULES.
2. DEBUGGING OUTPUT STATEMENTS
3. STUBS
4. FLAGS
5. PROGRAMMING TOOLS….BREAKPOINTS, STEPPING,
WATCH EXPRESSIONS
THESE ARE DEALT WITH IN THE VB EXERCISES.
ESSENTIALLY THESE CAN STEP THROUGH OR STOP EXECUTION…AND DISPLAY THE CURRENT VALUES OF
VARIABLES.
TURNS A BLACK BOX TEST INTO A WHITE BOX TEST.
WHITE BOX TEST:
We see what is changing inside.
We trace the changes in variables.
We know the inputs (test data) and the
expected outputs
Deskchecks when in the planning stage
Breakpoints and debugging output statements
when in the implementation stage
BLACK BOX TEST:
We only know the inputs (test data) and the outputs
We compare these outputs with what is expected.
If actual and expected don’t match…….
We start debugging !
WHEN WE WORK TOGETHER
WE ACHIEVE A LOT
IT’S ALL ABOUT TEAMWORK!
THANKS FOR JOINING SDD

More Related Content

PPTX
Sou um milagre voz da verdade
PPTX
Hino 688 - Espírito Enche a Minha Vida
PPTX
Deus de promessas
PPT
Aquele que está feliz,
PPTX
45. os sonhos de deus
PPT
Quem pode livrar como o senhor
Sou um milagre voz da verdade
Hino 688 - Espírito Enche a Minha Vida
Deus de promessas
Aquele que está feliz,
45. os sonhos de deus
Quem pode livrar como o senhor

What's hot (20)

PPT
Em espirito, em verdade ok
PDF
Filho do Deus Vivo
PPT
Assim como a corsa
PPTX
Fogo em teus olhos - Letra - Louvor IIR
PPTX
Tu és bom - Adoração e Adoradores
PPTX
Me Ama - Diante do Trono
PPT
Quero ser como criança
PPS
193 alma abatida
PPTX
Te Agradeço - Diante do Trono
PPT
Seja engrandecido, ó Deus da minha vida
 
PPTX
Pra onde iremos nós?
PPT
Olha Pra Mim
PPT
Tua Graça me Basta
PPTX
Adorar a deus
PPTX
PPT
Vai valer a pena
PPTX
Ele vem - Gabriel Guedes - feat. Gabriela Rocha
PPTX
Liberta-me de Mim
PPT
éS a nossa estrela da manhã
Em espirito, em verdade ok
Filho do Deus Vivo
Assim como a corsa
Fogo em teus olhos - Letra - Louvor IIR
Tu és bom - Adoração e Adoradores
Me Ama - Diante do Trono
Quero ser como criança
193 alma abatida
Te Agradeço - Diante do Trono
Seja engrandecido, ó Deus da minha vida
 
Pra onde iremos nós?
Olha Pra Mim
Tua Graça me Basta
Adorar a deus
Vai valer a pena
Ele vem - Gabriel Guedes - feat. Gabriela Rocha
Liberta-me de Mim
éS a nossa estrela da manhã
Ad

Similar to SDD error types and detection (20)

PPTX
Defect Tracking Software Project Presentation
PDF
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
PPTX
H testing and debugging
PPTX
Debugging
PDF
Bug Advocacy
PDF
bug-advocacy
PDF
Easy & Step-By-Step Ways of Finding Bugs in Software.pdf
PDF
5 Essential Tips for Load Testing Beginners
PPT
Testing concepts ppt
PPT
Testing concepts ppt
PDF
Systematic error management - we ported rudder to zio
PPT
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
PPTX
Software Testing Introduction (Part 1)
PDF
Testing parallel programs
PPT
Software Testing_Overview
PPT
Software testing overview by subbu
PPTX
Understanding Key Concepts and Applications in Week 11: A Comprehensive Overv...
PPTX
Fundamentals of testing (what is testing)
PPTX
The Pragmatic Programmer
PPT
SD & D Testing
Defect Tracking Software Project Presentation
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
H testing and debugging
Debugging
Bug Advocacy
bug-advocacy
Easy & Step-By-Step Ways of Finding Bugs in Software.pdf
5 Essential Tips for Load Testing Beginners
Testing concepts ppt
Testing concepts ppt
Systematic error management - we ported rudder to zio
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
Software Testing Introduction (Part 1)
Testing parallel programs
Software Testing_Overview
Software testing overview by subbu
Understanding Key Concepts and Applications in Week 11: A Comprehensive Overv...
Fundamentals of testing (what is testing)
The Pragmatic Programmer
SD & D Testing
Ad

Recently uploaded (20)

PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Lesson notes of climatology university.
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
master seminar digital applications in india
PPTX
Cell Types and Its function , kingdom of life
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Computing-Curriculum for Schools in Ghana
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Basic Mud Logging Guide for educational purpose
PDF
RMMM.pdf make it easy to upload and study
PDF
01-Introduction-to-Information-Management.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
O5-L3 Freight Transport Ops (International) V1.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
GDM (1) (1).pptx small presentation for students
Lesson notes of climatology university.
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
master seminar digital applications in india
Cell Types and Its function , kingdom of life
Insiders guide to clinical Medicine.pdf
Renaissance Architecture: A Journey from Faith to Humanism
VCE English Exam - Section C Student Revision Booklet
Computing-Curriculum for Schools in Ghana
Microbial disease of the cardiovascular and lymphatic systems
human mycosis Human fungal infections are called human mycosis..pptx
O7-L3 Supply Chain Operations - ICLT Program
Final Presentation General Medicine 03-08-2024.pptx
Basic Mud Logging Guide for educational purpose
RMMM.pdf make it easy to upload and study
01-Introduction-to-Information-Management.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf

SDD error types and detection

  • 1. SOFTWARE DESIGN & DEVELOPMENT ON LINE WITH MR CUSACK
  • 2. LESSON TOPIC T3W2 – ERROR TYPES & DETECTION
  • 3. WHAT TYPES OF ERROR ARE THERE? HINT: THERE ARE 3 TYPES!
  • 4. ERROR TYPES AND DETECTION SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS ARE NOT AS EXPECTED.
  • 5. ERROR TYPES AND DETECTION SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS ARE NOT AS EXPECTED. WHAT TYPE OF ERROR ?
  • 6. ERROR TYPES AND DETECTION SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS ARE NOT AS EXPECTED. WHAT TYPE OF ERROR ?...... LOGIC ERROR
  • 7. ERROR TYPES AND DETECTION SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS ARE NOT AS EXPECTED. WHAT TYPE OF ERROR ?...... LOGIC ERROR WHY NOT A SYNTAX ERROR ?
  • 8. ERROR TYPES AND DETECTION SCENARIO: AFTER USING A SOLUTION FOR SOME TIME USERS REPORT THAT SOME OUTPUTS ARE NOT AS EXPECTED. WHAT TYPE OF ERROR ?...... LOGIC ERROR WHY NOT A SYNTAX ERROR ? WHY NOT A RUNTIME ERROR ?
  • 9. ERROR TYPES AND DETECTION SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN EXECUTABLE SOLUTION. THIS FAILS. WHAT TYPE OF ERROR ?
  • 10. ERROR TYPES AND DETECTION SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN EXECUTABLE SOLUTION. THIS FAILS. WHAT TYPE OF ERROR ? SYNTAX ERROR !
  • 11. ERROR TYPES AND DETECTION SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN EXECUTABLE SOLUTION. THIS FAILS. WHAT TYPE OF ERROR ? SYNTAX ERROR ! DESCRIBE WHAT HAS CAUSED THIS ERROR
  • 12. ERROR TYPES AND DETECTION SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN EXECUTABLE SOLUTION. THIS FAILS. WHAT TYPE OF ERROR ? SYNTAX ERROR ! DESCRIBE WHAT HAS CAUSED THIS ERROR AT SOME POINT IN THE CODING THE PROGRAMMER HAS ENTERED CODE THAT DOES NOT COMPLY WITH THE RULES THAT APPLY TO THIS LANGUAGE. I.E. NOT COMPLIED WITH THE SYNTAX RULES FOR THAT LANGUAGE.
  • 13. ERROR TYPES AND DETECTION SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN EXECUTABLE SOLUTION. THIS FAILS. WHAT TYPE OF ERROR ? SYNTAX ERROR ! WHAT IS AVAILABLE TO THE PROGRAMMER TO HELP AVOID THIS ?
  • 14. ERROR TYPES AND DETECTION SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN EXECUTABLE SOLUTION. THIS FAILS. WHAT TYPE OF ERROR ? SYNTAX ERROR ! WHAT IS AVAILABLE TO THE PROGRAMMER TO HELP AVOID THIS ? METALANGUAGES !
  • 15. ERROR TYPES AND DETECTION SCENARIO: A PROGRAMMER COMPLETES CODING. SHE ATTEMPTS TO CREATE AN EXECUTABLE SOLUTION. THIS FAILS. WHAT TYPE OF ERROR ? SYNTAX ERROR ! WHAT IS AVAILABLE TO THE PROGRAMMER TO HELP AVOID THIS ? SYNTAX DEFINITIONS AND HELP IN THE FORM OF METALANGUAGES SUCH AS EBNF AND RAILROAD DIAGRAMS MESSAGES WITHIN THE PROGRAMMING ENVIRONMENT THAT REPORT SYNTAX ERRORS AND SUGGEST CORRECTIONS
  • 16. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ?
  • 17. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ? RUNTIME ERROR
  • 18. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ? RUNTIME ERROR HOW IS THIS DIFFERENT TO A LOGIC ERROR ?
  • 19. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ? RUNTIME ERROR HOW IS THIS DIFFERENT TO A LOGIC ERROR ? LOGIC ERRORS USUALLY ALLOW THE PROGRAM TO CONTINUE TO RUN…BUT GIVE UNEXPECTED RESULTS. RUNTIME ERRORS CRASH (OR REQUIRE RECOVERY)
  • 20. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ? RUNTIME ERROR WHAT DID THE USER DO THAT MADE THIS HAPPEN ?
  • 21. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ? RUNTIME ERROR WHAT DID THE USER DO THAT MADE THIS HAPPEN ? PROBABLY ENTERED UNEXPECTED OR INAPPROPRIATE DATA ..OR CREATED EVENTS THAT ARE NOT NORMAL.. ..OR WERE NOT ANTICIPATED BY THE PROGRAMMER.
  • 22. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ? RUNTIME ERROR WAS THIS THE USERS FAULT ?
  • 23. ERROR TYPES AND DETECTION SCENARIO: A PROGRAM HAS BEEN SUCCESSFULLY RUNNING FOR SOME TIME. A USER REPORTS THAT THE PROGRAM HAS “CRASHED”. WHAT TYPE OF ERROR ? RUNTIME ERROR. WHAT DID THE USER DO THAT MADE THIS HAPPEN ? WAS THIS THE USERS FAULT ? NO ! THE DEVELOPER SHOULD HAVE ALLOWED FOR THIS POSSIBILITY AND INCLUDED ADEQUATE TRAPS OR CODE SO THAT THE USER CANNOT CAUSE THIS TO HAPPEN
  • 24. ERROR TYPES SUMMARY LOGIC ERRORS SYNTAX ERRORS RUNTIME ERRORS
  • 25. ERROR TYPES SUMMARY LOGIC ERRORS SYNTAX ERRORS RUNTIME ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
  • 26. LOGIC ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
  • 27. LOGIC ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ? THOROUGH CREATION OF TEST DATA AND DESK CHECKING AT PLANNING STAGE REPEATING OF THIS TESTING AFTER IMPLEMENTATION
  • 28. SYNTAX ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ?
  • 29. SYNTAX ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ? IN MOST PROGRAMMING ENVIRONMENTS THE PROGRAMMING TOOL REPORTS SUCH ERRORS EITHER AS CODE IS CREATED OR WHEN AN ATTEMPT IS MADE TO TRANSLATE THE CODE. THESE ARE DETECTED BECAUSE THE PROGRAM WON’T RUN !
  • 30. RUNTIME ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ? (PROBABLY THE MOST DIFFICULT TO DETECT)
  • 31. RUNTIME ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ? (PROBABLY THE MOST DIFFICULT TO DETECT) AT BOTH THE PLANNING AND DURING IMPLEMENTATION AND TESTING THE DEVELOPER HAS TO PREDICT WHAT USERS CAN DO AND CREATE TEST DATA SETS TO ENSURE THAT ALL OF THESE POSSIBILITIES ARE COVERED.
  • 32. RUNTIME ERRORS HOW CAN THESE BE DETECTED BEFORE THE SOLUTION GOES TO THE CLIENTS ? (PROBABLY THE MOST DIFFICULT TO DETECT) AT BOTH THE PLANNING AND DURING IMPLEMENTATION AND TESTING THE DEVELOPER HAS TO PREDICT WHAT USERS CAN DO AND CREATE TEST DATA SETS TO ENSURE THAT ALL OF THESE POSSIBILITIES ARE COVERED. IN THE CASE OF LARGER SOLUTION RUNTIME ERROR DETECTION IS OFTEN ACHIEVED BY EXTENSIVE BETA TESTING. IN THIS CASE MANY USERS ARE ASKED TO RUN THE SOLUTION AND REPORT BACK PROBLEMS. THIS IS ANOTHER WAY TO HOPEFULLY TEST THE UNEXPECTED.
  • 33. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF 5 ELEMENTS IN AN ARRAY
  • 34. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF 5 ELEMENTS IN AN ARRAY BEGIN SET TOTAL TO 0 SET COUNTER TO 1 WHILE COUNTER <5 TOTAL = TOTAL + ARRAY(COUNTER) INCREMENT COUNTER ENDWHILE AVERAGE = TOTAL /COUNTER END
  • 35. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF 5 ELEMENTS IN AN ARRAY BEGIN SET TOTAL TO 0 SET COUNTER TO 1 WHILE COUNTER <5 TOTAL = TOTAL + ARRAY(COUNTER) INCREMENT COUNTER ENDWHILE AVERAGE = TOTAL /COUNTER END LOGIC ERROR
  • 36. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF 5 ELEMENTS IN AN ARRAY VB CODE WHILE COUNTER < 5 MAKE THE TOTAL = TOTAL + ARRAY (COUNTER) ENDDO
  • 37. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF 5 ELEMENTS IN AN ARRAY VB CODE…. BEHIND THE AVERAGE BUTTON. WHILE COUNTER < 5 MAKE THE TOTAL = TOTAL + ARRAY (COUNTER) ENDDO SYNTAX ERROR
  • 38. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF NUMBERS THAT THE USER ENTERS LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK LETS ASSUME THAT THE EXE WAS CREATED OK
  • 39. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF NUMBERS THAT THE USER ENTERS LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK LETS ASSUME THAT THE EXE WAS CREATED OK NOW THE USER RUNS THE PROGRAM…SEVERAL TIMES AND IT GIVES CORRECT RESULTS EVERY TIME
  • 40. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF NUMBERS THAT THE USER ENTERS LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK LETS ASSUME THAT THE EXE WAS CREATED OK NOW THE USER RUNS THE PROGRAM…SEVERAL TIMES AND IT GIVES CORRECT RESULTS EVERY TIME THEN THE USER RUNS THE PROGRAM AGAIN. ENTERS NO NUMBERS AND CLICKS THE AVERAGE BUTTON
  • 41. AN EXAMPLE A PROGRAM TO FIND THE AVERAGE OF NUMBERS THAT THE USER ENTERS LETS ASSUME THAT THE ALGORITHM DESKCHECKED OK LETS ASSUME THAT THE EXE WAS CREATED OK NOW THE USER RUNS THE PROGRAM…SEVERAL TIMES AND IT GIVES CORRECT RESULTS EVERY TIME THEN THE USER RUNS THE PROGRAM AGAIN. ENTERS NO NUMBERS AND CLICKS THE AVERAGE BUTTON RUNTIME ERROR….DIVISION BY ZERO
  • 42. FIXING BUGS SCENARIO: YOU HAVE COMPLETED CODING AND ATTEMPT TO RUN YOUR (LARGE MODULAR) PROGRAM. EITHER A RUNTIME OR A LOGIC ERROR IS APPARENT. HOW CAN YOU FIND AND FIX THE ERROR ?
  • 43. ERROR DETECTION TOOLS 1. FOCUS ON MODULES.
  • 44. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS
  • 45. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS 3. STUBS
  • 46. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS 3. STUBS 4. FLAGS
  • 47. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS 3. STUBS 4. FLAGS 5. PROGRAMMING TOOLS….BREAKPOINTS, STEPPING, WATCH EXPRESSIONS
  • 48. AN EXAM QUESTION A LARGE AND COMPLEX PROGRAM CONTAINS MANY MODULES THAT MANIPULATE DATA. THE PROGRAM PRODUCES INCORRECT OUTPUT, POSSIBLY AS A RESULT OF CALCULATION ERRORS IN ONE OR MORE MODULES. DESK CHECKING THE SOURCE CODE AND PEER CHECKING ARE TWO TECHNIQUES THAT COULD BE USED TO DEBUG THIS PROGRAM. DESCRIBE HOW OTHER TECHNIQUES COULD BE USED TO HELP LOCATE THE ERRORS IN THIS PROGRAM. HSC 2012
  • 49. AN EXAM QUESTION A LARGE AND COMPLEX PROGRAM CONTAINS MANY MODULES THAT MANIPULATE DATA. THE PROGRAM PRODUCES INCORRECT OUTPUT, POSSIBLY AS A RESULT OF CALCULATION ERRORS IN ONE OR MORE MODULES. DESK CHECKING THE SOURCE CODE AND PEER CHECKING ARE TWO TECHNIQUES THAT COULD BE USED TO DEBUG THIS PROGRAM. DESCRIBE HOW OTHER TECHNIQUES COULD BE USED TO HELP LOCATE THE ERRORS IN THIS PROGRAM. YOU COULD USE A PROGRAM TRACE TOGETHER WITH A VARIABLE WATCHER TO CHECK THE CONTENTS OF VARIABLES AT EACH RELEVANT STEP IN THE PROGRAM – TO MAKE SURE VALUES ARE CALCULATED CORRECTLY. BREAK POINTS SET IN KEY SUBROUTINES – IN CONJUNCTION WITH A TRACE – CAN BE USED TO ENSURE THESE SUBROUTINES ARE EXECUTED AND THAT CRITICAL VARIABLES CONTAIN THE EXPECTED VALUES AT THESE POINTS IN THE EXECUTION. THE USE OF DEBUGGING OUTPUT STATEMENTS AND FLAGS WILL ALSO ENSURE THAT THE VARIOUS MODULES ARE EXECUTED APPROPRIATELY.
  • 50. ERROR DETECTION TOOLS 1. FOCUS ON MODULES FIND IN WHICH MODULE THE ERROR OCCURS. DETERMINE WHAT THE USER WAS DOING WHEN THE ERROR HAPPENED ? THEN FOCUS YOUR DETECTION METHODS ON THAT MODULE.
  • 51. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS INSERT TEMPORARY OUTPUTS (LABELS) THAT TELL US THE VALUE OF KEY VARIABLES. REMOVE THESE WHEN THE ERROR IS FIXED.
  • 52. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS INSERT TEMPORARY OUTPUTS (LABELS) THAT TELL US THE VALUE OF KEY VARIABLES. REMOVE THESE WHEN THE ERROR IS FIXED. WHAT WOULD BE APPROPRIATE DEBUGGING OUTPUTS IN THE PREVIOUS AVERAGE CALCULATOR ?
  • 53. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS INSERT TEMPORARY OUTPUTS (LABELS) THAT TELL US THE VALUE OF KEY VARIABLES. REMOVE THESE WHEN THE ERROR IS FIXED. WHAT WOULD BE APPROPRIATE DEBUGGING OUTPUTS IN THE PREVIOUS AVERAGE CALCULATOR ? OUTPUT: THE COUNTER, THE TOTAL TEMPORARILY !
  • 54. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS 3. STUBS PARTIALLY COMPLETED MODULES (“UNDER CONSTRUCTION”) THAT TELL US THAT NAVIGATION TO A MODULE HAS WORKED AND THAT PARAMETERS HAVE BEEN SUCCESSFULLY PASSED. PROGRESSIVELY USE THESE TO REPLACE MODULES IN ORDER TO ISOLATE THE PROBLEM.
  • 55. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS 3. STUBS 4. FLAGS A SIMPLE BOOLEAN VARIABLE THAT RECORDS A “TRUE” WHEN CERTAIN PARTS OF A PROGRAM ARE ACCESSED OR STATUSES REACHED. OUTPUT THIS AS A DEBUGGING OUTPUT STATEMENT. USEFUL TO SEE IF CONDITIONS IN SELECTION AND ITERATION HAVE BEEN MET.
  • 56. ERROR DETECTION TOOLS 1. FOCUS ON MODULES. 2. DEBUGGING OUTPUT STATEMENTS 3. STUBS 4. FLAGS 5. PROGRAMMING TOOLS….BREAKPOINTS, STEPPING, WATCH EXPRESSIONS THESE ARE DEALT WITH IN THE VB EXERCISES. ESSENTIALLY THESE CAN STEP THROUGH OR STOP EXECUTION…AND DISPLAY THE CURRENT VALUES OF VARIABLES. TURNS A BLACK BOX TEST INTO A WHITE BOX TEST.
  • 57. WHITE BOX TEST: We see what is changing inside. We trace the changes in variables. We know the inputs (test data) and the expected outputs Deskchecks when in the planning stage Breakpoints and debugging output statements when in the implementation stage
  • 58. BLACK BOX TEST: We only know the inputs (test data) and the outputs We compare these outputs with what is expected. If actual and expected don’t match……. We start debugging !
  • 59. WHEN WE WORK TOGETHER WE ACHIEVE A LOT IT’S ALL ABOUT TEAMWORK!