Software Quality Assurance
Learning Outcome 1: For a specific project, Evaluate and use tools /techniques successfully handle configuration management.
Learning Outcome 2: Select an appropriate test strategy and associated test data & apply relevant techniques.
Learning Outcome 3: Critically analyze and review process of Software development & identify its ranking in an accepted capability-maturity model.
Learning Outcome 4: Analyze, critically review and apply alternative software metrics.
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.
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.
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
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)
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. (10 marks)
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 end product. Critically evaluate the relevance of the chosen strategy and discuss the test procedures to be followed while applying the strategy.
a. Critically analyze any one attribute in FURPS model relevant for the proposed software . Your discussion must include all set of requirements to achieve the chosen quality attribute 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.
Critically analyse 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.