Software Quality Assurance
- Select an appropriate test strategy and associated test data & apply relevant techniques.
- For a specific project, Evaluate and use tools /techniques successfully handle configuration management.
- Critically analyze and review process of Software development & identify its ranking in an accepted capability-maturity model.
- Analyze, critically review and apply alternative software metrics.
Assignment Objective
This assignment aims to evaluate the student's ability to successfully analyze and apply testing practices, software metrices and improvement models. The main objective is to use methods and techniques to enhance the quality attributes of a software project.
Assignment Tasks
Assume that you have been asked to develop an Business analytics software for sales teams. The proposed software should support the sales team to see the facts, provide reports that benefit these teams and answer their questions whenever and wherever they are. The proposed analytics software should speed up decision-making, tracks activity and ultimately help generate more sales. The software should support Sales Performance Comparison: Easily see who is performing well and why. The software must provide the trend analysis to find increases or decreases in product sales in months. The software must track Product growth. The software should be easy enough to use which means the sales team members don't have to be IT experts. The proposed software must give them the flexibility in business analysis to make strategic decisions.
Task 1
For the given scenario, propose a version management tool to manage the changes occurring during software development process. Demonstrate the following features of the selected tool in supporting the change control activities. Attach the screenshots as evidence.
i. Version management (by creating one main file and two branches-File name format(Repository name: SQAStudent ID, Main File name : Firstname_Student ID)
ii Adding a collaborator to the project Task to be done
Demonstrate the steps of adding a collaborator to the repository
iii. Issue tracking in a collaborative environment(Create an issue and assign it to the collaborator. Ask collaborator to resolve the issue and attach the evidence)
Task 2
a) Develop a code fragment(algorithm) to implement a few functions for the proposed software. The program must include variable declarations, arrays, processing statements, conditional statements and valid output statements(lines of code: 20-30). Give a short description of the program's objective and explain how it supports the business process.
a) Tasks to be done
- Create a program/algorithm using any programming language. The program must be mapped to any of the functionalities /business requirements for the proposed application including input statements, variable declarations, arrays, processing statements, conditional statements and valid output statements
- Example : Implement a functionality to compare sales using an array and get the lowest and highest selling product in the last 6 months in different regions. This will help the management to decide which product has least sales and to make decisions on enhancing the marketing strategies for the least selling product
- Discuss the main objective of your program and explain how the functionality support in achieving business objectives ( 200 words)
b) Draw a flow graph and calculate the cyclomatic complexity for the algorithm/program created in task 2 a.
c) Select one testing strategy for the above project to assure the highest possible quality of the product. Critically evaluate the relevance of the chosen strategy and discuss the test procedures to be followed while applying the strategy.
Task 3
a. Critically analyze any one attribute in FURPS model relevant for the proposed software. Your discussion must include all set of requirements to establish the chosen quality criteria based on the scenario.
b. Critically review the role of defect metric in evaluating the quality of the proposed software given in the scenario. Using sample data, demonstrate how the defect metric can be applied to evaluate the quality of the final product. Give a brief analysis of decisions taken by the development team based on the value of defect metric
Task 4
4) Critically analyze the significance of Capability Maturity Model in developing and refining an organization's software development process. Support your discussion with examples related to the proposed project development given in the scenario.