Compatibility Testing
Chapter 9
Highlights
What it means for software to be compatible
How standards define compatibility
What platforms are and what they mean for
compatibility
Why being able to transfer data among
software applications is the key to
compatibility
Compatibility Testing Overview
Software compatibility testing means
checking that your software interacts with and
shares information correctly with other
software
Two programs on single computer
Two programs on networked computer
Example of Compatible Software
Cutting text from a web page and pasting it into a
document opened in your word processor
Saving accounting data from one spreadsheet
program and then loading it into a completely
different spreadsheet program
Having photograph touchup software work correctly
on different versions of the same operating system
Having your word processor load in the names and
addresses from your contact management program
and print out personalized invitations and envelopes
Upgrading to a new database program and having all
your existing databases load in and work just as they
did with the old program
Questions for Compatibility Testing
Other platforms and other application?
Standards and guidelines?
Types of data shared?
Thoroughly analyzing the specification for the
product and any supporting specification
Platform and Application Versions
Specific operating system
Specific web browser
Even specific versions
OS
Web browser
Possibly some other applciations
Backward and Forward Compatibility
Backward compatibility
Work with previous versions of the software
Forward compatibility
Work with future versions of the software
Example: *.txt files
Product feature decision
The Impact of Testing Multiple Versions
Software application – Multiple versions of platforms
Huge task
Figure 9.3
Equivalence partition all the possible software
combinations into smallest, effective set
Criteria to choose program to be tested
Popularity
Age
Type
Manufacturer
Testing Compatibility between
applications
New Software Application
Application # 1
Application # 8
Application # 7
Application # 6
Application # 5
Application # 4
Application # 2 Application # 3
Standards and Guidelines
Research existing standards and guidelines
that might apply to your software or the
platform
High-level standards
General operation
Look and feel, and so on
Low-level standards
Nitty-gritty details
File formats, network communications
protocols
High-Level Standards and Guidelines
Compatible with
Mac, Linux, Windows
Firefox, Internet explorer
Example: Certified for Microsoft Windows logo
Pass compatibility testing by an independent testing
laboratory
Logo requirements
Mice with more than three buttons
Installation on disk drives other than C: and D:
Supports filenames longer than the DOS 8.3 format
Doesn’t read, write, or otherwise use the old system
file win.ini, system.ini, autoexec.bat, or config.sys
Low-level Standards and Guidelines
More important than the high-level standards
No windows logo isn’t a serious problem
Low-level example
*.pict file format for graphics program
Communication protocols
Programming language syntax
Any means used to share information
Look standards up yourself and develop your
tests directly from the source
Data Sharing Compatibility
A well-written program that supports and
adheres to published standards and allows
users to easily transfer data to and from other
software is a great compatible product
Simplest sharing scheme
Saving and loading disk files
File export and file import
Cut, copy and paste
Figure 9.7
DDE, COM, OLE