INF3705 Assignment 2
(COMPLETE ANSWERS)
2024 - DUE 6 September
2024 ;100% TRUSTED
workings, explanations and
solutions.
ADMIN
[COMPANY NAME]
, Question 1 [15 marks] Explain the difference between Development testing
and Test-driven development. Question 2 [09 marks] What are the strategic
options for legacy system evolution? When would you normally replace all or
part of a system rather than continue maintenance of the software? Question3
[12 marks] Name six reasons why software dependability is important in most
sociotechnical systems. Add an example to each reason.
Sure, let's address each question:
Question 1: Explain the difference between Development testing and Test-driven
development.
Development Testing:
• Development testing involves testing activities carried out by developers during
the software development process.
• It focuses on verifying the correctness of individual units of code, components, or
modules before they are integrated into the larger system.
• Development testing includes unit testing, integration testing, and component
testing, among others.
• Developers write test cases to validate the functionality and behavior of their
code, ensuring that it meets the specified requirements and functions as
intended.
• The primary goal of development testing is to detect and fix defects early in the
development lifecycle, minimizing the cost and effort of addressing issues later.
Test-Driven Development (TDD):
• Test-driven development is a software development approach where tests are
written before the code is implemented.
• In TDD, developers first write a failing test case that defines the desired behavior
or functionality of the code.
• They then write the minimum amount of code necessary to make the test pass.
• After the test passes, developers refactor the code to improve its structure,
readability, and performance while ensuring that all tests continue to pass.