static testing code review/verification –code is reviewed by the developer after each change...

8
Static Testing • Code Review/Verification – Code is reviewed by the developer after each change • Individually and with code sessions – Use of Visual Studio’s debugger • wxWidgets warning flags • Memory leak detector with Visual Studio

Upload: rolf-watson

Post on 02-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Static Testing

• Code Review/Verification– Code is reviewed by the developer after each

change • Individually and with code sessions

– Use of Visual Studio’s debugger • wxWidgets warning flags

• Memory leak detector with Visual Studio

Page 2: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Dynamic Testing

• Requires manual user inputs/interactions• Many test cases are performed by

developers while running the actual application– UI components such as the buttons, dialog

inputs, file choosers, icons, sounds, etc– Non-UI components such as preference loader,

network communication, user name validation, etc

Page 3: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Dynamic Testing

• Unit Testing– Testing each individual component as written

• UI Components: Running the program and use/ensure the new component works

• Non-UI: Individual main methods to test out functionality (with Preference)

• External tools used– Visual Studio Debugger

» stepping through each line to ensure the result matches expectation

– Web browser» looking at send/receive output from the server

Page 4: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Dynamic Testing

• Boundary– Related to user inputs– Run a standard set of tests to ensure correct handling by

using the software• Number values

– Setting several time periods to be the same and to 0

• Names– Long (up to 100 characters) and short names (1 letter)

• Files– Long folders structure/names– Long sound names

Page 5: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Dynamic Testing

• Exception– Related to user inputs– Run a standard set of tests to ensure correct handling by using

the software:• Invalid values for numbers

– negative numbers, numbers > 99999– Empty input

• Invalid input for names – names including characters other than alphanumeric characters and ‘-’,

names longer than 100 characters long– Empty string

• Invalid file selection – non-existing files– Empty input

Page 6: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Stress Testing

• Run a standard set of tests to ensure correct handling by using the software:– Multiple clicks/sends

– Changing preferences repeatedly to different files/values

– Having no preference file or an incomplete preference file

• Another way to track memory usage (to look for leaks)

Page 7: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Compatibility Test

• Windows– Tested on multiple XP and 2000 machines– We expect it to work on Windows 98, but not

extensively tested due to unavailability

• Mac– OS X 10.3 (2003) and above

Page 8: Static Testing Code Review/Verification –Code is reviewed by the developer after each change Individually and with code sessions –Use of Visual Studio’s

Beta Testing

• Jofish– Several beta test users

• Bug reports reported back to Jofish, forwarded to us

• Developers– Our own developers– Recruited several beta test users

• Bug reports reported back to us directly• For faster feedback and quicker bug detection• For targeted test cases

– Different operating system– Different system configuration– Different user profile and expertise level