static testing code review/verification –code is reviewed by the developer after each change...
TRANSCRIPT
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
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
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
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
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
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)
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
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