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: musyokah11@gmail.com
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: musyokah11@gmail.com
WhatsApp: +254792947610
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through EFT, credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying this summary from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller JayBih. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy this summary for R95,02. You're not tied to anything after your purchase.