Learning Outcomes
Students should be able to:
• Explain the following approaches to testing:
– White Box;
– Black box;
– System;
– Alpha;
– Beta; and –
A/B;
• Describe how to test the following in a multimedia package:
– Navigation;
– Multimedia asset operation;
– Load times; and
– Script testing
Testing can be completed at all stages of the software development life cycle. A test plan that provides instructions or operations to be carried out is vital for each testing stage. A test plan should include the following:
1. The test to be completed
2. The test data to be used
3. The expected outcome
4. The actual outcome (Below is an example of a test plan for a database. Similar test plans can be used for any software testing)
This is a technique used to study the structure or logic of a program. White box testing tests beyond the user interface and into the code of the program. The tester chooses inputs to exercise paths through the code and decides on appropriate outputs.
Advantages
√ Can be started at an earlier stage
√ No need to wait for the GUI to be created
√ More thorough – covering most paths
Disadvantages
x Testing can be complex, highly skilled resources are required
x Thorough knowledge of programming and implementation is required
x Test script maintenance can be a problem if implementation changes too frequently
x Tools for every kind of implementation/platform may not be readily available
Black box testing tests the software without the user knowing the internal structure of the code or program. Suitable inputs are selected based upon the interfaces of the system. For example testing the navigation structure of a website, onfirming that each link selected will take the user to the expected page.
Advantages
√ Tests are completed from an end users point of view and will expose any discrepancies from the actual specification
√ The tester does not need to know any programming languages or the how the software has been created
√ Tests are completed by independent companies separate from the developers, this allows for an objective perspective
√ Tests can be completed as soon as specifications are completed
Disadvantages
x Only a small number of possible input tests can actually be completed, leaving many paths untested
x Tests are difficult to design if there is not a clear specifications
x If the designer/developer has already run a test case independent test can be redundant
System testing makes sure the system works as described in the specification. This is done by using a test plan to test each individual system function, to test with extreme or invalid data and to test that the whole system produces the correct results for the input data. Advantages
√ It simulates actual system usage
√ It does not make any system structure assumptions
Disadvantages
x It can miss logical errors
x There is a high possibility of redundant testing
Alpha testing can be completed before the system is completely finished and faults remain. Developers give the software to a restricted audience of testers within the developer’s own company.
Advantages
√ Gives a better understanding of the reliability of the product
√ Simulates real time behaviour
√ Can detect serious errors
√ Errors can be detected early
Disadvantages
x Functionality cannot be fully tested as the system is still in developmental stage
x Developers can be dissatisfied with the results
In Beta testing the developers give the system to a number of privileged customers in exchange for constructive feedback. Beta testing is completed after the results of the alpha testing have been studied and any changes made. The Beta test version is usually very similar to the finished product.
Advantages
√ Reduces the chance of product failure
√ Improves product quality via customer feedback
√ Increases customer satisfaction
√ Less expensive than other data collection methods
Disadvantages
x Less control as testing is completed in the real world
x Maintaining customer participation can be a problem
x Finding the right testers can be a problem
A/B testing is sometimes known as split testing. Companies use this to determine what potential improvements can be made to their software. Two versions of the software are shown to different users and the results are analysed to decide if it is worthwhile to launch the improvement.
Advantages
√ Ease of implementation
√ Ease of test design
√ Ease of analysis
√ Flexibility
Disadvantages
x Limited number of concepts – ideas have to be tested one at a time
x Inefficient data collection
Navigation
Multimedia packages all contain methods of moving around the package for example a website will have links or buttons to move between web pages. This is known as navigation. It is important to test each link/ button to ensure that each one does what it is supposed to do. A test plan should be drawn up to test all parts of the package/website.
Multimedia Asset Operation
Assets are the various components that make up a multimedia document such as text, still images, audio, video, or hyperlinks. All must be tested using the test plan to ensure that they work as expected. For example if the document contains a video, it must be tested to ensure that the video plays when expected and can play on different platforms.
Load Times
Load testing is the method of testing to ensure that the system loads as expected under both normal and peak conditions. Testing load times should identify the maximum operating capacity and any issues which may cause the system to degrade.
Script Testing
Script testing is usually completed using a set of instructions that is performed to determine if the system works as expected. This is most commonly used in automated testing. Automated testing usually uses languages such as Javascript, Python or VBScript to test the system.