INF3705
ASSIGNMENT 2 2024
- DUE 6 SEPTEMBER
2024
QUESTIONS WITH COMPLETE ANSWERS
[DATE]
[Company address]
,INF3705 Assignment 2 2024 - DUE 6 September 2024
Question 1 [15 marks]
Explain the difference between Development testing and Test-driven
development.
Development Testing:
• Focus: This is a broader term encompassing various testing activities
performed during the software development lifecycle (SDLC).
• Timing: Testing can occur at different stages of development, like unit
testing during coding, integration testing when modules are combined, or
system testing of the entire application.
• Goal: To identify and fix bugs, ensure functionalities meet requirements,
and improve overall software quality.
• Tests: Development tests can be written before, during, or after code
implementation.
Test-Driven Development (TDD):
• Focus: A specific software development approach where tests are
written before the actual code.
• Timing: Tests are written first, followed by writing minimal code to make
those tests pass. This cycle of test-code-refactor repeats for each
functionality.
• Goal: Similar to development testing, TDD aims for bug-free, functional
code. Additionally, it promotes good code design, maintainability, and clear
understanding of requirements.
• Tests: In TDD, tests are written first, defining the expected behavior of the
code before it's written.
In simpler terms:
For exam pack with questions and answers, quality notes, assignments and exam
help:
email:
WhatsApp: +254792947610
, • Development testing is like checking your work after you've done it.
• TDD is like writing down the instructions (tests) for a project before you
even start building it.
Here's a table summarizing the key points:
pen_spark
Feature Development Testing Test-Driven Development (TDD)
General software Specific software development
Focus
testing approach
Timing of Before, during, or
Written before the code
Tests after code
Same as development testing +
Find and fix bugs,
Goal promotes good design and
ensure functionality
maintainability
Test Writing Tests written first, guide code
Can be flexible
Approach 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?
1. Encapsulation: Wrap the legacy code in a new layer to isolate it from the
rest of the system. This allows you to make changes to the internal workings
of the legacy system without affecting other parts of the application.
For exam pack with questions and answers, quality notes, assignments and exam
help:
email:
WhatsApp: +254792947610
ASSIGNMENT 2 2024
- DUE 6 SEPTEMBER
2024
QUESTIONS WITH COMPLETE ANSWERS
[DATE]
[Company address]
,INF3705 Assignment 2 2024 - DUE 6 September 2024
Question 1 [15 marks]
Explain the difference between Development testing and Test-driven
development.
Development Testing:
• Focus: This is a broader term encompassing various testing activities
performed during the software development lifecycle (SDLC).
• Timing: Testing can occur at different stages of development, like unit
testing during coding, integration testing when modules are combined, or
system testing of the entire application.
• Goal: To identify and fix bugs, ensure functionalities meet requirements,
and improve overall software quality.
• Tests: Development tests can be written before, during, or after code
implementation.
Test-Driven Development (TDD):
• Focus: A specific software development approach where tests are
written before the actual code.
• Timing: Tests are written first, followed by writing minimal code to make
those tests pass. This cycle of test-code-refactor repeats for each
functionality.
• Goal: Similar to development testing, TDD aims for bug-free, functional
code. Additionally, it promotes good code design, maintainability, and clear
understanding of requirements.
• Tests: In TDD, tests are written first, defining the expected behavior of the
code before it's written.
In simpler terms:
For exam pack with questions and answers, quality notes, assignments and exam
help:
email:
WhatsApp: +254792947610
, • Development testing is like checking your work after you've done it.
• TDD is like writing down the instructions (tests) for a project before you
even start building it.
Here's a table summarizing the key points:
pen_spark
Feature Development Testing Test-Driven Development (TDD)
General software Specific software development
Focus
testing approach
Timing of Before, during, or
Written before the code
Tests after code
Same as development testing +
Find and fix bugs,
Goal promotes good design and
ensure functionality
maintainability
Test Writing Tests written first, guide code
Can be flexible
Approach 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?
1. Encapsulation: Wrap the legacy code in a new layer to isolate it from the
rest of the system. This allows you to make changes to the internal workings
of the legacy system without affecting other parts of the application.
For exam pack with questions and answers, quality notes, assignments and exam
help:
email:
WhatsApp: +254792947610