• Complete deliverables described in the laboratory slides each week.
• A ZIP file of the deliverables to be submitted on Canvas.
• Please submit individually.
• Please submit all the deliverables in the form of pdf.
• Submission due after Week 13 on Monday 7 June 2021 by 11:59pm.
There are six components that make up the submission for the assignment, each containing one or more deliverable. Submissions will be assessed against the requirements for each week as described in the laboratory slides.The marks for the six componentsareweighted equally.
Each week there are a number of activities to be completed which are described in the laboratory slides. The final submission will beaZIP file of thesefoldersto beuploadedtoCanvas.
The outcomes from these activities are to be saved into folders with names as indicated in the laboratory slides. The following is a summary of the activities to be completed. The headings cross reference the sections in the laboratory slides that contain the complete details of the activities. The tablesdescribe the documents whicharerequired andthe folder weretheyshouldbe placed.
Lab 7.1 Black Box Testing with Input Equivalence Partition
Lab 7.2 White Box Testing using Cyclomatic Complexitys
This activity looks at targeting tests based on the software being tested. The aim is to implement tests that cover the whole code. The useof a flowchart and cyclomatic complexity help ensure that this is done.This activity appliestheseprinciplesto somecodefrom yourproject code.
08cyclomatic The method, function or procedure chosen from your project.
Flow graph of the chosen code.
Calculation of the cyclomatic complexity.
The test code written.
The results from the test code.
To obtain full marks:
1. The calculation of the cyclomatic complexity is correctly explained.
2. There are the right number of tests.
3. The tests are written correctly.
4. The tests report their outcome by returning a Boolean result.
Lab 8.1 Object Oriented ClassTesting
Lab 8.2 Object Oriented Bottom Up Testing
This activity uses Bottom Up Testing on parts of your code, looking at setting and accessing all the variables, testing of methods and testing of object state if applicable.
To obtain full marks:
1. The test cases truly execute the combined functionality of the classes.
2. The test cases are self-contained, that is, only two steps, compile-execute areneeded.
3. The test cases are thoroughly documented. That is, there is text (comments) explaining the type of functionality being exercised by each case.
4. The combined classes have non-trivial functionality. Classes that simply offer methods to set/retrieve their attributes are highly discouraged.
Lab 9.1 FSM Testing Preparation
Lab 9.2 Exercising a FSM for Testing and Reporting the Result
This activity makes use of a Finite State Machine (FSM) to allow a test case to be written.
10FSM Test description which includes the FSM on which the test is based (2pages).
To obtain full marks:
1. The test case is fully described with all the required fields.
2. The FSM exercises multiple paths and is properly specified.
3. The test case, in the Notes field contains a description of the changes derived from the feedback obtained by one of the teammates.
Lab 10.1 Markov Chain Test Preparation
Lab 10.2 Obtaining the Probabilities of a Markov Chain from Product Logs
This activity requires the state transition probabilites to be calculated by modifying the project code and writing a script or program to analyse the results. The test also needs to be described.
11Markovchain Test description (2 pages).
The script or program that prints state transition probabilites.
The result from your script or program.
Full mark is obtained if:
Lab 11.1 Envision a New Functionality for Your Product
Lab 11.2 Agile Development and Quality Assurance of New Functionality
This activity looks at making improvements to your project. The aim is to consider how it can be implemented in an agile framework and what tests need to be done to ensure quality.
12Agiledev Document containing three sections:
Section 1: Improvement description (1/2 page).
Section 2: Release Sequences (1page).
Section 3: Test Descriptions (1 page).
To obtain full marks, the document must contain:
1. First section with a detailed description of the improvement.
2. Second section with a sequence of at least three releases that increase gradually the functionality described in section one until the final release which fully implements it.
3. Third section in which a list of tests is described and effectively verifies the progress of the releases.
Lab 12.1 Identify Functionaltity to Implement in Agile Week Cycle
Lab 12.2 Implementation Plan for New Functionality in Agile Week
The objective of this activity is to design a detailed plan with the steps required for the implementation during the 10 periods of the Agile week (mornings and afternoons).
13Agileweek Document containing detail plan as described below (3 pages)
To obtain full marks, the plan must include the following parts:
1. Description of the new functionality as a Software Requirement Specificaiton as explained previously in the course.
2. Description of the blocks that need to be modified and why.
3. Tasks attached to these modifications.
4. Estimated duration of the development phases and detailed division of steps among them. For example, if the functionality consists on adding a new menu item, describe the steps required for the implementation (such as modification of the GUI, creation of the listener, creation of the main functionality) and an the number of hours and type of programming required
5. Description of code review procedures with concrete assignments to team members. The code reviewshouldrefer to concrete files.
6. Description of the type of tests and the units involved in it. By units, it means files, classes, modules or any relevant division that is present in your product.