SDD Topic has been refreshed!
Integrative testing is the second level of testing used in any development and takes place after component testing has been carried out. So at this point you are confident that individually the components themselves function as intended.
Integrative testing will be needed for projects that require integration of separate components.
Component testing takes place during the initial development of the solution, when individual functions or modules are created.
Integrative testing is carried out to verify interaction between components and to detect interface defects. In this context an interface is when two components communicate with each other. The purpose of these tests is to determine whether independently developed units of software work correctly when connected to each other.
Due to the nature of integrative testing, some of the test cases needed may require temporary code or for mock data to be generated. This code can generate results not explicitly mentioned in the requirements specification. Once these tests are proved successful, any temporary code is removed.
In the examples that follow, test cases that require temporary code are marked with an asterisk*.
A program is being developed to act as a personal diary app. The program will:
allow the user to add new diary entries with a date, title, and description
search diary entries by date
list diary entries with the most recent entry first
delete any diary entries that have expired
allow a maximum of three images to be associated with each diary entry
store details of all diary entries in a secure database server.
This development meets the requirements of the Advanced Higher project, because:
it is based on the Software Design content of the course:
details of diary entries are stored and processed in an array of records
a sort algorithm is used to display diary entries with the most recent entry first
it integrates with the Database Design content of the course:
details of diary entries are stored in a database table
a connection with the database server is used to execute SQL queries
SQL queries are used to add and delete diary entries
an SQL query is used to search for diary entries using date entered by the user
an SQL query is used to select all diary entries, to enable processing to take place
On-going testing is used throughout the development to test each component as it is created. Integrative testing is needed, as the development integrates SDD and WDD content. Three examples describing integrative tests for this development are shown below:
*test cases that require temporary code
An object-oriented program is being developed to act as a recipe manager. The program will:
use a recipe class to define the data types and methods associated with a recipe
store recipe details in an array of objects for processing
allow the user to add new recipes
save recipe details to a sequential file
allow the user to search for recipes by ingredient or category (starter, main course or dessert)
display recipe details in alphabetical order of recipe title
This development meets the requirements of the Advanced Higher project, because:
it is based on the Software Design content of the course:
a recipe class is defined
an array of objects is used to store and process recipe details
the linear search algorithm is used to search the recipe details
a sort algorithm is used to arrange the search results, in alphabetical order of recipe title
it integrates with the Web Design content of the course. A web page is used to:
present the user with output
allow the user to enter details of a new recipe and indicate search criteria
display the search results
On-going testing is used throughout the development to test each component as it is created. Integrative testing is needed, as the development integrates SDD and WDD content. Three examples describing integrative tests for this development are shown below:
*test cases that require temporary code
A movie review database is being developed. The database will:
store details of movies, actors, reviews, and reviewers in five linked tables of a relational database
allow users to search for details of individual movies
allow users to add details of new movies to the database
allow users to add a review and rating for any movie
use forms to create an interface for all SQL functionality
use subqueries to display details of the highest rated movie(s) and details of any movie that has at least five reviews
use a query to display details of any movie that was not made in the UK
This development meets the requirements of the Advanced Higher project, because:
It is based on the Database Design content of the course:
details of movies, actors, reviews, and reviewers are stored in five linked tables of a relational database
subqueries are used to extract details from the database
queries make use of logical operators to search for required details
queries and subqueries make use of at least three database tables
It integrates with the Software Design content of the course:
forms created using toolbox controls provided within the integrated development environment provide an interface for all SQL functionality
the program forms a connection with the secure database server to execute SQL queries
the program is used to format and display query results
On-going testing is used throughout the development to test each component as it is created. Integrative testing is needed, as the development integrates DDD and SDD content. Three examples describing integrative tests for this development are shown below:
*test cases that require temporary code
A movie review database is being developed. The database will:
store details of albums, artists, and tracks in five linked tables of a relational database
allow the user to search for details of individual albums, artists, and tracks
allow details of new albums to be added to the database and stored in the relevant tables
use web pages to create an interface for all SQL functionality
use subqueries to display details of the most popular albums, artists, and tracks
use a subquery to display details of the tracks in any album, that has at least ten tracks
This development meets the requirements of the Advanced Higher project, because:
it is based on the Database Design content of the course:
details of albums, artists, and tracks are stored in five linked tables of a relational database
subqueries are used to extract required album, artist and track details
queries and subqueries use at least three database tables
it integrates with the Software Design content of the course:
web pages provide an interface to display results of SQL queries
online forms are used to enter query search criteria
online forms are used to gather details of new albums
PHP code is used to form a connection with the secure database server and to execute SQL queries
PHP is used to format and display the results returned by SQL queries
On-going testing is used throughout the development to test each component as it is created. Integrative testing is needed, as the development integrates DDD and SDD content. Three examples describing integrative tests for this development are shown below:
*test cases that require temporary code
A website is being developed to allow the user to play a game of ‘Connect Counters’.
This is a 2-player game played on a 5 x 5 grid. Users take it in turns to either position a coloured counter in the grid to form a continuous sequence of counters (horizontally, vertically or diagonally), or block their opponent’s sequence.
Once the grid is full, the player who has the longest sequence of counters gets a point (in the event of a draw, both players receive points).
The software will:
allow each player’s name to be entered at the start of the game, together with the number of rounds being played (the maximum number of rounds is three)
allow players to take it in turn to indicate the position of their coloured counter in the grid
control the game play and award points
display the name of the winner(s) and points awarded at the end of each round
display the name of the overall winner, once all rounds of the game have been played
This development meets the requirements of the Advanced Higher project, because:
it is based on the Web Design content of the course:
an online form is used to gather and submit details at the start of the game
players use an online form of submit buttons to indicate the grid position they want to use on the ‘Game Play’ page
PHP is used to assign variables and process the form data
session variables are used to store details entered by the players for the duration of the game
external CSS is used to format the layout of all web pages in the website
a media query is used to create multiple layouts
it integrates with the Software Design content of the course:
a 2-D array is used to represent the position of the players’ counters
On-going testing is used throughout the development to test each component as it is created. Integrative testing is needed, as the development integrates DDD and SDD content. Three examples describing integrative tests for this development are shown below:
*test cases that require temporary code
A photo gallery website is being developed. The website will:
allow all users to view thumbnails of all publicly available images
allow new users to create an account for the website
allow registered users to login and view thumbnails of images that they have stored and have marked as ‘private’
allow all users to click a thumbnail image and display a full-sized image
allow registered users to add details of new images to the database, indicating whether access to the images is ‘public’ or ‘private’
use web pages to create an interface for all SQL functionality
This development meets the requirements of the Advanced Higher project, because:
it is based on the Web Design content of the course:
users login to the website using an online form
PHP is used to assign variables and process the form data
session variables are used to store a user’s login details while they are logged in to the website
external CSS is used to format the layout of all web pages in the website
media query is used to create multiple layouts
it integrates with the Database Design content of the course:
details of uploaded images are stored in a database table
a separate database table is used to store users’ login details
a connection with the database server is used to execute SQL queries
an SQL query is used to check a user’s login credentials
SQL queries are used to select the images to be displayed
On-going testing is used throughout the development to test each component as it is created. Integrative testing is needed, as the development integrates WDD and SDD content. Three examples describing integrative tests for this development are shown below: