16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

[Elective]<br />

• Static approaches and dynamic approaches to verification<br />

• Test-driven development<br />

• Validation planning; documentation for validation<br />

• Object-oriented testing; systems testing<br />

• Verification and validation of non-code artifacts (documentation, help files, training materials)<br />

• Fault logging, fault tracking and technical support for such activities<br />

• Fault estimation and testing termination including defect seeding<br />

Learning Outcomes:<br />

[Core-Tier2]<br />

1. Distinguish between program validation and verification. [Familiarity]<br />

2. Describe the role that tools can play in the validation of software. [Familiarity]<br />

3. Undertake, as part of a team activity, an inspection of a medium-size code segment. [Usage]<br />

4. Describe and distinguish among the different types and levels of testing (unit, integration, systems, and<br />

acceptance). [Familiarity]<br />

5. Describe techniques for identifying significant test cases for integration, regression and system testing.<br />

[Familiarity]<br />

6. Create and document a set of tests for a medium-size code segment. [Usage]<br />

7. Describe how to select good regression tests and automate them. [Familiarity]<br />

8. Use a defect tracking tool to manage software defects in a small software project. [Usage]<br />

9. Discuss the limitations of testing in a particular domain. [Familiarity]<br />

[Elective]<br />

10. Evaluate a test suite for a medium-size code segment. [Usage]<br />

11. Compare static and dynamic approaches to verification. [Familiarity]<br />

12. Identify the fundamental principles of test-driven development methods and explain the role of automated<br />

testing in these methods. [Familiarity]<br />

13. Discuss the issues involving the testing of object-oriented software. [Usage]<br />

14. Describe techniques for the verification and validation of non-code artifacts. [Familiarity]<br />

15. Describe approaches for fault estimation. [Familiarity]<br />

16. Estimate the number of faults in a small software application based on fault density and fault seeding.<br />

[Usage]<br />

17. Conduct an inspection or review of software source code for a small or medium sized software project.<br />

[Usage]<br />

SE/Software Evolution<br />

[2 Core-Tier2 hour]<br />

Topics:<br />

• Software development in the context of large, pre-existing code bases<br />

o Software change<br />

o Concerns and concern location<br />

o Refactoring<br />

• Software evolution<br />

• Characteristics of maintainable software<br />

• Reengineering systems<br />

• Software reuse<br />

- 183 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!