configuration testing

13
CONFIGURATION MANAGEMENT 1 CONFIGURATION TESTING Farouq Umar Idris CIS217 06/03/2014 Submitted to: Mr B Anant

Upload: farouq-umar

Post on 21-Jun-2015

114 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Configuration testing

CONFIGURATION MANAGEMENT 1

CONFIGURATION TESTING

Farouq Umar Idris

CIS217

06/03/2014

Submitted to:

Mr B Anant

Page 2: Configuration testing

CONFIGURATION MANAGEMENT 2

TABLE OF CONTENT

Contents

ABSTRACT ............................................................................................................................................ 3

CONFIGURATION TESTING .............................................................................................................. 4

HARDWARE CONFIGURATION TESTING ...................................................................................... 6

SOFTWARE CONFIGURATION TESTING ........................................................................................ 7

ENVIRONMENT TESTING .................................................................................................................. 9

CONFIGURATION MANAGEMENT ................................................................................................ 10

WHAT HARDWARE TO TEST ON ................................................................................................... 11

CONCLUSION ......................................................................................................................................... 12

Page 3: Configuration testing

CONFIGURATION MANAGEMENT 3

ABSTRACT

Configuration management is plays a vital role in software development, design and

lunch not just in software but also in hardware. This project shows how important

configuration testing is and what consequence is a developer most likely to encounter without

the test.

Page 4: Configuration testing

CONFIGURATION MANAGEMENT 4

CONFIGURATION TESTING

Configuration testing is the process of testing a system under development on machines

which have various combinations of hardware and software. Configuration testing is also

done on the environment the system will be run because not every system tends to withstand

all environmental conditions.

Configuration testing is also called "Hardware compatibility testing", during this testing tester

will test whether the s/w build is supporting different hardware technologies or not e.g.

printer, Scanners and topologies etc

In many situations the number of possible configurations is far too large to test. For example,

suppose you are a member of a test team and you are working on some desktop user

application. The number of combinations of operating system versions, memory sizes, hard

drive types, CPUs alone could be enormous. If you target only 10 different operating system

versions, 8 different memory sizes, 6 different hard drives, and 7 different CPUs, there are

already 10 * 8 * 6 * 7 = 3,360 different hardware configurations. Then if you add various

software components such as Web browser version, anti-virus software, earlier versions of

the system under development, the number of possible configurations quickly becomes

unmanageable. Note that not all software development efforts necessarily face an

unmanageable number of configurations. For example, software developed for specific, non-

PC hardware devices may have only a handful of hardware and software configurations.

Because the number of possible configurations to test is typically too large to effectively test,

it is crucial that the planning effort for a software testing effort clearly identify which

platforms will be supported. If, as is often the case, the number of combinations of hardware

and software is simply too great to test thoroughly, then the test planning effort must

Page 5: Configuration testing

CONFIGURATION MANAGEMENT 5

carefully prioritize testing different configurations based on a number of factors such as the

size of the user base, and the risk associated with an undiscovered bug in a particular

configuration.

Page 6: Configuration testing

CONFIGURATION MANAGEMENT 6

HARDWARE CONFIGURATION TESTING

Hardware configuration testing is often performed in test labs which simply consist of a large

number of machines with different types of hardware. When a testable build of the system

under development is released, the build is installed onto each machine in the lab, and a suite

of tests is run on each machine. Because there are usually a large number of machines in a

test lab, in most situations a significant amount of automation is performed to install the

system under test and execute test suites. Setting up a test lab can be expensive so in many

situations hardware configuration testing is well suited to outsourcing to organizations which

specialize in this type of testing.

When doing a hardware configuration test, we specify the hardware configuration we are

testing on, e.g. like the king of keyboard, system unit (hard disk, processor etc.). A simple

configuration of a system that every test is run on is

2 Gigahertz P4 CPU, 512 Megabytes of RAM (or of similar performance), 40 Gigabyte Hard

Drive, CDRW, USB port(s), 10/100 Ethernet Adapter for Broadband and/or 56K Data

Modem for dialup network connection, Wi-Fi 802.11 b or g. Wireless network adapter

(Laptops only), Sound card, and speakers or headphones, 1024 by 768 resolution monitor,

Printer (any kind) etc.

Page 7: Configuration testing

CONFIGURATION MANAGEMENT 7

SOFTWARE CONFIGURATION TESTING

Software configuration testing can be very time consuming because of the time required to

install and uninstall software including operating system software. For this reason, software

configuration testing is also often heavily automated. One configuration testing approach

which is not generally possible for hardware testing but is possible for software testing is to

test on virtual machines. A virtual machine consists of a single file, often called a VHD, or

virtual hard drive, which when installed on a host machine can simulate a particular real

software configuration. Multiple virtual machines, each with a different software

configuration, can be installed and run on a single physical host machine, and tested

simultaneously. A software configuration test effort can maintain a library of virtual

machines in the form of a set of .vhd files which can be used as needed for testing. There are

both commercial virtual machine systems as well as systems which are freely available. On

Microsoft platforms, free virtual systems include Virtual PC and the very closely related

Virtual Server (the differences between the two are very small and mostly technical in

nature), and the 64-bit machine based Hyper-V system. There are several free or open source

virtual machine software systems for Unix platforms. One such system is VirtualBox. Below

is a screen shot of a gaming software (the amazing Spiderman) which was installed and tried

to run on windows 8 but due to software incompatibility, it was giving the user a problem.

This was because the gaming software was not properly tested on windows 8 or when it was

produced, windows 8 weren’t in existence.

Page 8: Configuration testing

CONFIGURATION MANAGEMENT 8

Page 9: Configuration testing

CONFIGURATION MANAGEMENT 9

ENVIRONMENT TESTING

A test environment is any development environment that is primarily used to perform

incremental and iterative system testing on an evolving application.

When doing a configuration test, the environment that the system will be run should also be

tested not just on hardware and on the software. Environment test matters a lot too. Taking

for instance a system was develop and tested in a very stable environment and later on the

client wants to use it in a non-stable or vibrating environment. This will be a problem for the

system and the developer if it is not tested to withstand several kinds of environment tests.

Page 10: Configuration testing

CONFIGURATION MANAGEMENT 10

CONFIGURATION MANAGEMENT

Configuration management determines clearly about the items that make up the software or

system. These items include source code, test scripts, third-party software, hardware, data and

both development and test documentation. Configuration management is also about making

sure that these items are managed carefully, thoroughly and attentively during the entire

project and product life cycle. Configuration management has a number of important

implications for testing. Like configuration management allows the testers to manage their

test ware and test results using the same configuration management mechanisms.

Configuration management also supports the build process, which is important for delivery

of a test release into the test environment. Simply sending Zip archives by e-mail will not be

sufficient, because there are too many opportunities for such archives to become polluted

with undesirable contents or to harbor left-over previous versions of items. Especially in later

phases of testing, it is critical to have a solid, reliable way of delivering test items that work

and are the proper version. Last but not least, configuration management allows us to keep

the record of what is being tested to the underlying files and components that make it up. This

is very important. Let us take an example, when we report defects, we need to report

them against something, something which is version controlled. If it is not clear what we

found the defect in, the programmers will have a very tough time of finding the defect in

order to fix it. For the kind of test reports discussed earlier to have any meaning, we must be

able to trace the test results back to what exactly we tested.

Ideally, when testers receive an organized, version-controlled test release from a change-

managed source code repository, it is along with a test item trans-mittal report or release

notes.

Page 11: Configuration testing

CONFIGURATION MANAGEMENT 11

WHAT HARDWARE TO TEST ON

They are lots of computer hardware and peripherals which make it quiet impossible to run all

the test on them. What testers do is they make an analysis of what hardware is mostly used by

users and try to make a configuration test based on it. For instance in a printer configuration

test, the testers will make analysis of which brand of printer are mostly used in the market

and by users and based on that analysis, they make test and document the reports.

Page 12: Configuration testing

CONFIGURATION MANAGEMENT 12

CONCLUSION

Most programmers don’t give much importance to configuration testing where they think

applying it is a complete waste of time. Configuration testing is as important as white box

and black box testing because without it, software might encounter compatibility issue with

systems they are intended to be run on.

Page 13: Configuration testing

CONFIGURATION MANAGEMENT 13

REFERENCE

1. Software testing second edition by Ron Patton

2. http://istqbexamcertification.com

3. http://www.83answers.com/95/difference-between-configuration-and-compatibility