


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An examination paper for the software testing module (soft 8017) in the bsc (hons) in software development and bsc (hons) in software development & networking programmes at the cork institute of technology. The exam consists of five questions and lasts for two hours. The questions cover topics such as software testing principles, testing techniques, bug reporting, and bug handling.
Typology: Exams
1 / 4
This page cannot be seen from the preview
Don't miss anything!



Semester 2 Examinations 2009/
Module Code: SOFT 8017
School: Computing
Programme Title: BSc (Hons) in Software Development BSc (Hons) in Software Development & Networking
Programme Code: KSDEV_8_Y4 and KDNET_8_Y
External Examiner(s): Mr. Ken Carroll Internal Examiner(s): Mr. John O’Brien
Instructions: Answer any four questions
Duration: 2 Hours
Sitting: Summer 2010
Requirements for this examination:
Note to Candidates: Please check the Programme Title and the Module Title to ensure that you have received the correct examination paper. If in doubt please contact an Invigilator.
Q1. (a) “Software testing is partially intuitive, but largely systematic.” Do you agree/disagree? State your reasons. [5 Marks] (b) In the context of software testing: (i) What is meant by the expression “complete program testing”? (ii) State three reasons why the “complete” testing of computer software artefacts is not possible. (iii) Why is it impossible to make a serious attempt at path testing without having access to an up-to-date code listing? [8 Marks] (c) In an article, entitled “Reasons to repeat tests” , J. Bach compares the activity of testing a software artefact to that of searching a minefield for mines. He states that “if you just travel the same path through the field again and again, you won’t find a lot of mines”. However, Bach does suggest, for the testing of software artefacts, ten specific scenarios where the exact repetition of a test is not unreasonable. Identify, and elaborate on any six such scenarios. [12 Marks]
Q2. (a) Are testers who complain/comment on joining a software project late justified in their complaint? State your reason(s). [4 Marks]
(b) In the context of software testing: (i) What is a review meeting? (ii) Why are review meetings important during software project work? (iii) Differentiate, briefly, between each of the following types of review meetings: Walkthrough; Inspection; Technical review. [9 Marks] (c) (i) Explain the following testing terms: Structural testing; Functional testing; Path; Subpath. [4 Marks] (ii) Differentiate between the following path-testing coverage criteria: Line coverage; Branch coverage; Condition coverage. Support your answer with suitable illustrative examples. [8 Marks]
(c) In the context of reporting and analysing software bugs, addressing multiple reports of the same problem is a time-wasting exercise for both programmer(s) and the project manager. The objective should, always, be to avoid duplicate reports. However, the recording of multiple reports documenting similar “mis-behaviour” may be allowed in certain circumstance. (i) List three arguments for allowing such multiple reports in the problem tracking database. [3 Marks] (ii) What are the tester’s responsibilities when addressing the issue of “similar reports”? [6 Marks]
Q5. (a) (i) How would a tester know if a group of tests formed an equivalence class? [3 Marks] (ii) Tests are often placed into the same equivalence class when: they involve the same input variables, for example. Suggest three other reasons for placing tests into the same equivalence class. [3 Marks]
(b) How should a tester approach each of the following: (i) Visible state transitions for interactive programs; [6 Marks] (ii) Load testing. [4 Marks]
(c) It is claimed that approximately one third of all the bug “fixes” either do not fix the problem or break something else in the process. Regression testing relies on the availability of a regression test library to consistently evaluate each new version of a program that is submitted for testing. Discuss. [9 Marks]
End of exam!