1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

65
1 ITEC 136 ITEC 136 Business Programming Business Programming Concepts Concepts Week 14, Part 01 Week 14, Part 01 Overview Overview

Transcript of 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Page 1: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

1

ITEC 136ITEC 136Business Programming Business Programming

ConceptsConcepts

Week 14, Part 01Week 14, Part 01

OverviewOverview

Page 2: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Homework 9 SolutionHomework 9 Solution

2

Page 3: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

3

Week 14 OverviewWeek 14 Overview

• Week 13 reviewWeek 13 review• What is an object? (three parts)What is an object? (three parts)

•State (properties)State (properties)•Identity (location in memory)Identity (location in memory)•Behavior (methods)Behavior (methods)

Page 4: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

4

Week 14 OverviewWeek 14 Overview

• Week 13 reviewWeek 13 review• Custom JS objectsCustom JS objects

•ConstructorsConstructors• thisthis reference reference•The The prototypeprototype property of functions property of functions

• Benefits of object-orientationBenefits of object-orientation•Coupling and cohesion (among Coupling and cohesion (among

others)others)

Page 5: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

5

Week 14 OverviewWeek 14 Overview

• Week 13 reviewWeek 13 review• 3 of the 5 pillars of OOP3 of the 5 pillars of OOP

•AbstractionAbstraction•EncapsulationEncapsulation•Composition (code reuse, 2 kinds)Composition (code reuse, 2 kinds)

Page 6: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

6

Week 14 OverviewWeek 14 Overview

• Week 13 reviewWeek 13 review• Exception handlingException handling

•Detection and correction of errors Detection and correction of errors are at different places in code.are at different places in code.

•Exceptions communicate between Exceptions communicate between those places and alter the flow of those places and alter the flow of executionexecution• throwthrow keyword keyword• trytry//catchcatch//finallyfinally blocks blocks

Page 7: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Week 14 OverviewWeek 14 Overview

• OutcomesOutcomes• Select necessary and sufficient Select necessary and sufficient

test cases.test cases.• Use a debugger to examine a Use a debugger to examine a

running program.running program.• Correct runtime errors through a Correct runtime errors through a

debugger.debugger.

7

Page 8: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

8

Week 14 OverviewWeek 14 Overview

• OutcomesOutcomes• Select necessary and sufficient Select necessary and sufficient

test cases.test cases.• Use a debugger to examine a Use a debugger to examine a

running program.running program.• Correct runtime errors through a Correct runtime errors through a

debugger.debugger.

Page 9: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

9

ITEC 136ITEC 136Business Programming Business Programming

ConceptsConcepts

Week 14, Part 02Week 14, Part 02

Testing ConceptsTesting Concepts

Page 10: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Testing in the SDLCTesting in the SDLC

10

Requirements

Analysis and Design

Implementation

Testing

Maintenance

Requirements

Analysis and Design

Implementation

Testing

Deployment

Page 11: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Validation vs. verificationValidation vs. verification• Validation: A comparison of the Validation: A comparison of the

system behavior against what the system behavior against what the user actually needs. “Have we user actually needs. “Have we build the right software?”build the right software?”

11

Page 12: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Validation vs. verificationValidation vs. verification• Validation: A comparison of the Validation: A comparison of the

system behavior against what the system behavior against what the user actually needs. “Have we user actually needs. “Have we build the right software?”build the right software?”

12

Primarily the work of business analysts and designers. Critical to real-world software success.

Primarily the work of business analysts and designers. Critical to real-world software success.

Page 13: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Validation vs. verificationValidation vs. verification• Validation: A comparison of the Validation: A comparison of the

system behavior against what the system behavior against what the user actually needs. “Have we user actually needs. “Have we build the right software?”build the right software?”

• Verification: A comparison of Verification: A comparison of system behavior against the system behavior against the specification. “Have we built the specification. “Have we built the software right?”software right?”

13

Page 14: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Validation vs. verificationValidation vs. verification• Validation: A comparison of the Validation: A comparison of the

system behavior against what the system behavior against what the user actually needs. “Have we user actually needs. “Have we build the right software?”build the right software?”

• Verification: A comparison of Verification: A comparison of system behavior against the system behavior against the specification. “Have we built the specification. “Have we built the software right?”software right?”

14

Page 15: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Validation vs. verificationValidation vs. verification• Validation: A comparison of the Validation: A comparison of the

system behavior against what the system behavior against what the user actually needs. “Have we user actually needs. “Have we build the right software?”build the right software?”

• Verification: A comparison of Verification: A comparison of system behavior against the system behavior against the specification. “Have we built the specification. “Have we built the software right?”software right?”

15

Primarily the work of software and quality assurance engineers. What most people think of when you say “testing.” Our focus this week.

Primarily the work of software and quality assurance engineers. What most people think of when you say “testing.” Our focus this week.

Page 16: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Types of testingTypes of testing•Unit testingUnit testing: A function or object : A function or object

designed to test the behavior of a designed to test the behavior of a another function or object.another function or object.•Operates in isolation of other Operates in isolation of other

objects.objects.•Provide known inputs to check Provide known inputs to check

against known outputs.against known outputs.•Group together into a test suite.Group together into a test suite.

16

Page 17: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Test driven developmentTest driven development• If testing is good, then why not do If testing is good, then why not do

it continuously?it continuously?

17

Write a test case for new behavior

Run all tests (watching new

test fail)

Write code to make new test case pass

Debug any new test case

failures.

Clean up (refactor) the design

Page 18: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Types of testingTypes of testing• Integration testingIntegration testing: verifies the : verifies the

behavior of larger groupings of behavior of larger groupings of modules.modules.•Done after unit testing of each Done after unit testing of each

component part, yet before system component part, yet before system testing.testing.

•Exposes interface, design problemsExposes interface, design problems

18

Page 19: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Types of testingTypes of testing•System testingSystem testing: testing of the : testing of the

entire system assembled from entire system assembled from major modules.major modules.•Done after integration testingDone after integration testing•Load, security, stress, performance, Load, security, stress, performance,

reliability, etc.reliability, etc.

19

Page 20: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Types of testingTypes of testing•Acceptance testingAcceptance testing: performed : performed

by subject matter experts just by subject matter experts just prior to release. Last chance for prior to release. Last chance for bug finding.bug finding.•Done after system testing.Done after system testing.•Sometimes called Sometimes called betabeta testing. testing.•Binary decision (go/no go for Binary decision (go/no go for

release).release).

20

Page 21: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Types of testingTypes of testing•Regression testingRegression testing: re-running old : re-running old

test cases after every bug fix to test cases after every bug fix to ensure that the fix introduced no new ensure that the fix introduced no new bugs.bugs.•Prevents Prevents cyclingcycling of bugs. of bugs.•Acts as a safety net.Acts as a safety net.•Permits refactoring (redesign of existing Permits refactoring (redesign of existing

code) while maintaining quality.code) while maintaining quality.

21

Page 22: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Black- vs. white-box testingBlack- vs. white-box testing•Black-box testingBlack-box testing: treats the : treats the

item under test as a black box, item under test as a black box, providing only inputs (both valid providing only inputs (both valid and invalid) and checking outputs. and invalid) and checking outputs. Does not exploit internal Does not exploit internal knowledge of how the code works.knowledge of how the code works.

22

Page 23: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Testing ConceptsTesting Concepts

• Black- vs. white-box testingBlack- vs. white-box testing•White-box testingWhite-box testing: testing all : testing all

paths through the software using paths through the software using carefully crafted inputs (both valid carefully crafted inputs (both valid and invalid).and invalid).•Critical to achieve a high degree of Critical to achieve a high degree of

test coveragetest coverage, i.e. the percentage of , i.e. the percentage of lines of code exercised by the tests.lines of code exercised by the tests.

23

Page 24: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

24

ITEC 136ITEC 136Business Programming Business Programming

ConceptsConcepts

Week 14, Part 03Week 14, Part 03

Applied Unit TestingApplied Unit Testing

Page 25: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Unit tests mustUnit tests must• Be quick and easy to writeBe quick and easy to write• Run in an automated wayRun in an automated way• Provide value to the programmerProvide value to the programmer

• MethodMethod• Provide inputsProvide inputs• Validate outputsValidate outputs

25

Page 26: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• How do we test this:How do we test this:

26

function absoluteValue(number){ if (number < 0) return -number; return number;}

Page 27: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• How do we test this:How do we test this:• Simple way:Simple way:

27

function testAbsoluteValueFunction(){ if (5 != absoluteValue(-5)) alert("failed test 1"); if (5 != absoluteValue(5)) alert("failed test 2")}

Page 28: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• How do we test this:How do we test this:• Simple way:Simple way:

28

function testAbsoluteValueFunction(){ if (5 != absoluteValue(-5)) alert("failed test 1"); if (5 != absoluteValue(5)) alert("failed test 2")}

Advantages:•Simple.•Can be used for regression testing.

Advantages:•Simple.•Can be used for regression testing.

Page 29: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• How do we test this:How do we test this:• Simple way:Simple way:

29

function testAbsoluteValueFunction(){ if (5 != absoluteValue(-5)) alert("failed test 1"); if (5 != absoluteValue(5)) alert("failed test 2")}

Advantages:•Simple.•Can be used for regression testing.

Advantages:•Simple.•Can be used for regression testing.

Disadvantages:•Not easily reused for other kinds of testing•Too many alerts

Disadvantages:•Not easily reused for other kinds of testing•Too many alerts

Page 30: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework• Principles:Principles:

•Make unit testing easyMake unit testing easy•Take away all the repetitive codeTake away all the repetitive code•Report errors succinctlyReport errors succinctly

30

Page 31: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework

31

var tests = new UnitTester();tests.addTests({ testNegative : function() { tests.assertEquals(5, absoluteValue(-5)); }, testPositive : function() { tests.assertEquals(5, absoluteValue(-5)); }, testNonNumber : function() { tests.assertEquals("NaN", "" + absoluteValue("x")); }});tests.runTests();

Page 32: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework

32

var tests = new UnitTester();tests.addTests({ testNegative : function() { tests.assertEquals(5, absoluteValue(-5)); }, testPositive : function() { tests.assertEquals(5, absoluteValue(-5)); }, testNonNumber : function() { tests.assertEquals("NaN", "" + absoluteValue("x")); }});tests.runTests();

Expected answerExpected answer

Actual answerActual answer

Page 33: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework

33

function FailedTest(expected, actual) { this.expected = expected; this.actual = actual;}

FailedTest.prototype.toString = function() { return "expected: " + this.expected + ", actual: " + this.actual;}

A failed test throws a FailedTest exception capturing how it failed.

A failed test throws a FailedTest exception capturing how it failed.

Page 34: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework

34

function UnitTester() { this.allTests = new Object(); this.failures = [];}

UnitTester.prototype.assertEquals = function( expected, actual) { if (expected.equals && !expected.equals(actual)) throw new FailedTest(expected, actual); else if (!(expected == actual)) throw new FailedTest(expected, actual);}

Compares expected and actual values.

Compares expected and actual values.

Page 35: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework

35

UnitTester.prototype.addTests = function(manyTests){ for (index in manyTests) { this.addTest(index, manyTests[index]); }}

UnitTester.prototype.addTest = function(name, test){ this.allTests[name] = test;}

Sets up test functions to run.Sets up test functions to run.

Page 36: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework

36

UnitTester.prototype.runTests = function() { for (var index in this.allTests) { if (this.allTests[index] instanceof Function) { try { this.allTests[index](); } catch (exception) { this.failures.push(index + ": " + exception); } } } alert(this.makeResultsString());}

Actually runs the test functionsActually runs the test functions

Page 37: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Building a unit testing Building a unit testing frameworkframework

37

UnitTester.prototype.makeResultsString = function(){ var str = ""; for (var index in this.failures) { str += this.failures[index] + "\n"; } if (str == "") return "All tests passed."; return str;}

Produces the results.Produces the results.

Page 38: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

38

ITEC 136ITEC 136Business Programming Business Programming

ConceptsConcepts

Week 14, Part 04Week 14, Part 04

Selecting Test CasesSelecting Test Cases

Page 39: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Selecting Test CasesSelecting Test Cases

• Test coverageTest coverage• Making sure that all parts of your Making sure that all parts of your

program are exercised by the test program are exercised by the test cases.cases.•Every direction of nested if/else structuresEvery direction of nested if/else structures•Every possible case in a switch statementEvery possible case in a switch statement•Every possible way a loop can be runEvery possible way a loop can be run

• Never iterating (pre-test only)Never iterating (pre-test only)• Iterating onceIterating once• Iterating many timesIterating many times

39

Page 40: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Selecting Test CasesSelecting Test Cases

• Test coverageTest coverage• Making sure that all kinds of data Making sure that all kinds of data

are testedare tested•An “expected” test caseAn “expected” test case•““Corner” casesCorner” cases•Illegal inputsIllegal inputs

40

Page 41: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Selecting Test CasesSelecting Test Cases

• Test coverageTest coverage• Ex: calculating square rootsEx: calculating square roots

•Expected inputs: numbers from [1…Expected inputs: numbers from [1…n]n]

•Corner cases: 0, [0…1]Corner cases: 0, [0…1]•Illegal inputs: negative numbersIllegal inputs: negative numbers

41

Page 42: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Try it:Try it:• Write test cases using the testing Write test cases using the testing

framework to determine if your framework to determine if your merge()merge() function (which merges function (which merges two separately sorted arrays) two separately sorted arrays) works on many different data works on many different data sets.sets.

42

Page 43: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Try it:Try it:• Write test cases using the testing Write test cases using the testing

framework to determine if a framework to determine if a sorting algorithm actually sorts sorting algorithm actually sorts arrays.arrays.

43

Page 44: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Applied Unit TestingApplied Unit Testing

• Try it:Try it:• Write a function that builds a Write a function that builds a

histogram table at 10% intervals histogram table at 10% intervals (i.e. given an array of data in the (i.e. given an array of data in the range [0, 100] output an array with range [0, 100] output an array with 11 “buckets” containing the count 11 “buckets” containing the count of elements that fall in those of elements that fall in those buckets).buckets).

• Write tests to verify that it works.Write tests to verify that it works.

44

Page 45: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

45

ITEC 136ITEC 136Business Programming Business Programming

ConceptsConcepts

Week 14, Part 05Week 14, Part 05

Debugging ToolsDebugging Tools

Page 46: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Old school approachOld school approach• Logging: debugging statements Logging: debugging statements

placed strategically in program placed strategically in program code.code.

46

function log(div, message) { document.getElementById(div).innerHTML += message + "<br />";}// then later...if (debug == true) { log("debug", "Got to here");}

Page 47: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• New school approachNew school approach• Logging: use the built in Firebug Logging: use the built in Firebug

logging console!logging console!

47

console.log("This is a log message");console.info("This is an info message");console.warn("This is a warn message");console.error("This is an error message");

Page 48: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• New school approachNew school approach• Logging: use the built in Firebug Logging: use the built in Firebug

logging console!logging console!

48

console.log("This is a log message");console.info("This is an info message");console.warn("This is a warn message");console.error("This is an error message");

Page 49: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• DebuggersDebuggers• Programs that allow you to examine Programs that allow you to examine

the state of another running program.the state of another running program.•Built in to the IDE in which you programBuilt in to the IDE in which you program

• Stop your program at a particular point Stop your program at a particular point ((breakpointbreakpoint))

• Inspect the contents of a variable (Inspect the contents of a variable (inspectinspect or or watchwatch))

• Step through a program as it executes (Step through a program as it executes (step step intointo, , step overstep over, , step outstep out).).

49

Page 50: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Typical debugging sessionTypical debugging session• Set a breakpoint in your code just Set a breakpoint in your code just

prior to where you think a problem prior to where you think a problem is occurring (i.e. on the line just is occurring (i.e. on the line just ahead of the one in an exception’s ahead of the one in an exception’s stack trace).stack trace).

• Run the program in debug mode, Run the program in debug mode, and the program will stop just and the program will stop just ahead of the crashahead of the crash

50

Page 51: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Typical debugging sessionTypical debugging session• Set a breakpoint in your code just Set a breakpoint in your code just

prior to where you think a problem prior to where you think a problem is occurring (i.e. on the line just is occurring (i.e. on the line just ahead of the one in an exception’s ahead of the one in an exception’s stack trace).stack trace).

• Run the program in debug mode, Run the program in debug mode, and the program will stop just and the program will stop just ahead of the crashahead of the crash

51

A breakpoint set at line 80.

A breakpoint set at line 80.

Page 52: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Typical debugging sessionTypical debugging session• Examine the variables at that point Examine the variables at that point

to determine what may have gone to determine what may have gone wrong. Use the watch or inspect wrong. Use the watch or inspect features.features.

• Step forward through the program Step forward through the program to examine how the state of to examine how the state of objects change as the program is objects change as the program is executing line-by-line.executing line-by-line.

52

Page 53: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Typical debugging sessionTypical debugging session• Examine the variables at that point Examine the variables at that point

to determine what may have gone to determine what may have gone wrong. Use the watch or inspect wrong. Use the watch or inspect features.features.

• Step forward through the program Step forward through the program to examine how the state of to examine how the state of objects change as the program is objects change as the program is executing line-by-line.executing line-by-line.

53

The watch window displays the names and values of the local variables in the function

The watch window displays the names and values of the local variables in the function

Page 54: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Typical debugging sessionTypical debugging session• Step into Step into – if on a line with a – if on a line with a

function call, starts debugging that function call, starts debugging that function, otherwise just executes function, otherwise just executes the next linethe next line

• Step over Step over – if on a line with a – if on a line with a function call, calls the function (but function call, calls the function (but doesn’t debug it), otherwise just doesn’t debug it), otherwise just executes the next line.executes the next line.

54

Page 55: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Typical debugging sessionTypical debugging session•Step out Step out – runs the current – runs the current

function to completion, resumes function to completion, resumes debugging at the point at which debugging at the point at which the function was called.the function was called.

•ContinueContinue – runs to the next – runs to the next breakpoint.breakpoint.

55

Page 56: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Debugging ToolsDebugging Tools

• Typical debugging sessionTypical debugging session•Step out Step out – runs the current – runs the current

function to completion, resumes function to completion, resumes debugging at the point at which debugging at the point at which the function was called.the function was called.

•ContinueContinue – runs to the next – runs to the next breakpoint.breakpoint.

56

ContinueContinue

Step intoStep into

Step overStep over

Step outStep out

Page 58: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Questions?Questions?

58

Page 59: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Next WeekNext Week

• Last class! Last class! • Final exam! Final exam!

59

Page 60: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

60

ITEC 136ITEC 136Business Programming Business Programming

ConceptsConcepts

Week 14, Part 06Week 14, Part 06

Self QuizSelf Quiz

Page 61: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Self QuizSelf Quiz

• What is the difference between What is the difference between validation and verification?validation and verification?

• Name the five different types of Name the five different types of testing in the SDLC.testing in the SDLC.

• Compare and contrast black-Compare and contrast black-box and white-box testing.box and white-box testing.

61

Page 62: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Self QuizSelf Quiz

• What is the advantage of a unit What is the advantage of a unit testing framework over some testing framework over some ad-hoc approach?ad-hoc approach?

• Write a function “Write a function “isSortedisSorted” ” that returns true if the array that returns true if the array given as a parameter is sorted, given as a parameter is sorted, and false otherwise.and false otherwise.

62

Page 63: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

Self QuizSelf Quiz

• Write a thorough set of test Write a thorough set of test cases for cases for isSortedisSorted..

• Describe the process of Describe the process of debugging using a debugger.debugging using a debugger.

• Describe the process of Describe the process of debugging using a logging debugging using a logging facility.facility.

63

Page 64: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

64

ITEC 136ITEC 136Business Programming Business Programming

ConceptsConcepts

Week 14, Part 07Week 14, Part 07

Upcoming deadlinesUpcoming deadlines

Page 65: 1 ITEC 136 Business Programming Concepts Week 14, Part 01 Overview.

65

Upcoming DeadlinesUpcoming Deadlines

• Due April 13Due April 13• Homework 12 (optional)Homework 12 (optional)• Lab 4Lab 4• Reflection paperReflection paper• Final examFinal exam