0% found this document useful (0 votes)
70 views

CS341 Software Quality Assurance and Testing: Final Examination Semester 1 2017

This document outlines the details of a final examination for a Software Quality Assurance and Testing course. It is a 3 hour closed book exam worth 40% of the student's overall grade. The exam has three sections: Section A contains 12 multiple choice questions; Section B has 3 questions requiring longer answers; Section C consists of one question. Students are instructed to answer all questions in the provided exam booklet. They may use non-programmable calculators. The minimum passing grade for the exam is 40 out of 100 total possible points.

Uploaded by

Tetz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

CS341 Software Quality Assurance and Testing: Final Examination Semester 1 2017

This document outlines the details of a final examination for a Software Quality Assurance and Testing course. It is a 3 hour closed book exam worth 40% of the student's overall grade. The exam has three sections: Section A contains 12 multiple choice questions; Section B has 3 questions requiring longer answers; Section C consists of one question. Students are instructed to answer all questions in the provided exam booklet. They may use non-programmable calculators. The minimum passing grade for the exam is 40 out of 100 total possible points.

Uploaded by

Tetz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

eusp

THE UNNERSITY OF THE


SOUTH PACIFIC

CS341 Software Quality Assurance and Testing

Faculty of Science, Technology and Environment


School of Computing, Information and Mathematical Sciences

Final Examination
Semester 1 2017

Mode: Face-to-Face

Duration of Exam: 3 hours + 10 minutes

Reading Time: 10 minutes

Writing Time: 3 hours

Instructions:

This exam has three sections: A, Band C

Section A has 12 multiple choice questions

Section B has 3 questions and Section C has one question.

Answer All questions from Sections A, Band C in the exam booklet provided

You may use non-programmable calculators.

This exam is worth 40% of your overall mark. Minimum pass mark for this exam is 40/100.

There are a total of 10 pages including this cover page


Section A
12 Multiple Choice Questions (12 marks)
Write clearly the question number and your chosen answer [A-D] (one answer only
for each multi-choice question) in the exam booklet provided.

1) Unlike other product quality assurance, Software Quality Assurance (SQA)


is unique because:

[A] Software is Highly Complex


[B] Software as a product is Invisible
[C] The oppOltunities to detect defects is limited compared with other
manufacturing processes
[D] All ofthe above (Le. for A, Band C above, all the answers are correct)
[E] None of the above (Le. for A, Band C above, none of the answers are correct)

2) One of the characteristics of the Software Quality Assurance environment


includes:

[A] Software is often developed through contracts


[B] Software is short-lived and rarely reused
[C] Software quality is similar to Hardware and can include Firmware
[D] Software Quality cannot be measured
[E] Teamwork is not important with today's software development methods

3) The customer-supplier relationship with SQA product development is


important because:

[A] The customer is always right


[B] The supplier needs to work with the customer to develop quality requirements
[C] The supplier knows best
[DJ All of the above (Le. for A, Band C above, all the answers are correct).
[E] None of the above (i.e. for A, Band C above, none of the answers are correct)

4) A level of Risk can be determined using the flowing two attributes:

[A] Probability and Hazards


[B] Undesirable events and Liabilities
[C] Frequency and Chance
[D] Outcomes and Consequences
[E] Likelihood and Impact

Page 2 of 10
5) Software Quality Assurance risks include:

[A] Personnel Management risks


[B] Scheduling and timing risks
[C] Resource usage and performance risks
[D] All the above (Le. for A, Band C above, all the answers are correct).
[E] None of the above (i.e. for A, Band C above, none of the answers are correct)

6) There are four key ways of dealing with risks, you can:

[A] Avoid them, Disperse them, Translate them, Reduce them


[B] Reduce them, Transfer them, Accept them, Avoid them
[C] Accept them, Manage them, Clear them, Process them
[D] Transfer them, Reduce them, Accept them, Minimise them
[E] Translate them, Defer them, Endorse them, Embrace them.

7) Given the following types of tool, which tools would typically be used by
developers, and which by an independent system test team?

1. static analysis
11. performance testing
lll. test management
IV. dynamic analysis

[A] developers would typically use i and iv; test team ii and iii
[B] developers would typically use i and iii; test team ii and iv
[C] developers would typically use ii and iv; test team i and iii
[D] developers would typically use i, iii and iv; test team ii
[E] developers would typically use i, and ii; test team iii and iv

8) .Which of the following values for age are in the same Equivalence Partition?
- If you are less than 18, you are too young to be registered for program.
- Between 18 and 50 inclusive, you will receive a 20% discount.
- Anyone over 50 is not eligible for a discount.

[A] 17,18, 19'


[B] 51,52,53
[C] 18,49,50
[D]
,
17,49,51
[E] None of the above

Page 3 of 10
9) What are the criteria to decide the testing efforts?

1. Time and budget


2. Size of development team
3. Size of testers
4. Risk associated with project

[A] 1,3,4
[B] 1,2,3
[C] 1,4
[D] 1,3
[E] 3,4

10) Which ofthe following statements is correct about the C#.NET program
given below?
using System;
namespace IndiabixConsoleApplication
{
class MyProgram
{
static void Main(string[] args)
{
int index = 6;
int val = 44;
int[] a = new int[5];
try
{
a[index] = val;
}
catch(IndexOutOfRangeException e)
{
Console.Write("Index out of bounds ");
}
Console.Write("Remaining program");
}
}
}

[A] Value 44 will get assigned to a [6]


[B] It will output: Index out of bounds
[C] It will output: Remaining program
[D] It will not produce any output
~E] It will output: Index out of bounds Remaining program

Page 4 of 10
11) ReadA,B
IfA>=2
PrintA+B
else
PrintA-B
EndIf
JfB<l
PrintB-A
EndIf

For the above algorithm what will be the minimum number oftest cases required to
achieve 100% Statement Coverage (SC) and Decision Coverage (DC)?

[A] SC = 1, DC=2
[B] SC = 1, DC=3
[C] SC=2, DC=2
[D] SC=2, DC=3
[E] SC=3 , DC =3

12) Which Testing is normally performed first?

[A] Black box testing


[B] White box testing
[C] Unit testing
[D] Dynamic testing
[E] Static testing

Page 5 oflO
Section B
Three Questions (Each is worth 20 marks)

13) (20 Marks)


a) What is traceability in software testing? Explain why it is important? How
traceability can help you track quality in software (4 marks)

b) What is Defect Tracking? Describe the defect life cycle workflow by using a
diagram and text. (5 marks)

c) Describe up to FIVE non-functional testing methods that are applicable to an


E-business system. Justify your answers. (5 marks)

d) Describe up to SIX different types oftesting that might be carried out during a
software development project. Explain how each type oftesting contributes to
the overal~ quality of the project's deliverables. (6 marks)

14) (20 Marks)

a) Describe the uniqueness of Software Quality Assurance when compared with


other non-software product developments. (4 marks)

b) Identify six out of the many causes of software errors. (6 marks)

c) Why is risk assessment important with Software Quality Assurance?


(4 marks)

. d) What is the difference between a qualitative and quantitative measure? Is


one measure better than the other for risk assessment in Software Quality
Assurance? If so, explain which is better and why. Use examples of each
type of measure to explain your answers. (6 marks)

Page 6 of 10
15) (20 Marks)

A small company plans to build a customer interface to allow online access to


their secure database. The database contains records of each customer to show:
their contact details; their unique account number; the products they have
previously purchased; the products they have on order, and; a wish list of products
they have an interest in. Associated with each of the customer's product are: dates
when they ordered; the quantity ordered; the options selected; the sales person's
name; the delivery dates; the prices, and; other related purchasing information.

Currently, each customer has to contact the company to enquire about past orders
or new products by visiting the showroom or contact them by phone. The sales
person at the company looks up their details to explain what is on the customer's
record or to provide a printout.

The new web-based interface they plan to build will allow each customer to login
to their own account and view their records via their customer record application.
They can also update their account with new or repeat orders.

The following is a high-level data flow ofthe proposed system upgrade:

sales Customer Record Application


person

Office Terminals
Office Printer

Customers (online)

...................................•

Financials

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

External Application

Page 7 of 10
a) For this proposed new system, describe the software system functional
components, as shown in the above diagram, that are used for calculating
the Functional Point Analysis? (4 marks)

b) From the above, calculate the Crude Functional Point Analysis (CFPA).
Show your workings for each component and how the figures were
derived (for this example, you can assume a simple level of complexity
where all components having a weight factor of3 except for external
components that have weight of 5). (6 marks)

c) Describe how you might apply a Relative Complexity Adjustment Factor


(as described by Galin) to refine your CFPA, with different grades against
various criteria, based on the following table: (4 marks)

Table 21A.2: Relative Complexity Adjustment Factor (RCAF) - calculation form

No. Subject Grade

1 Requirement for reliable backup and recovery 012345


2 Requirement for data communication 012345
3 Extent of distributed processing 012345
4 Performance requirements 012345
5 Expected operational environment 012345
6 Extent of online data entries 012345
7 Extent of multi·screen or multi·operation online data input 012345
8 Extent of online updating of master files 012345
9 Extent of complex inputs, outputs, online queries and files 012345
10 Extent of complex data processing 012345
11 Extent that currently developed code can be designed for reuse 012345
12 Extent of conversion and installation included in the design 012345
13 Extent of multiple installations in an organization and variety of 012345
customer organizations
14 Extent of change and focus on ease of use 012345
Total = RCAF

d) Describe why it might be necessary to perform this Functional Point


Analysis, what other similar metrics could be used and what relevance this
has to Software Quality Assurance? (6 marks)

Page 8 of 10
Section C
16) (28 marks)

a) What is cyclomatic complexity? Calculate the cyclomatic complexity of


the following code.

IF A= 10 THEN
IFB>CTHEN
A=B
ELSE
A=C
ENDIF
ENDIF
Print A
Print B
Print C.

(3 marks)

b)
i) Explain the difference between quality control and quality assurance. Give
an example of each. (3 marks)

ii) Identify and briefly explain FOUR activities, apart from testing, that could
be used to ensure the quality of the intermediate and deliverable products of a
software development project. (2 marks)

Consider the following class definition that represents a thermostatically


controlled home heating system.

class thermostaticHeaterSystem {

public int temperatureLimit; / / from 0 to 30 (celsius)

public bool heaterState; / / true or false (for on/off)

public void evaluateState(); / / switch heater on/off as needed

public int getCurrentTemp(); // obtain temperature from sensor

};

Page 9 of 10
c) Provide a redesigned thermostaticHeaterSystem class that uses more
appropriate access modifiers.
(2 marks)

d) Provide two C# properties that will enable the temperatureLimit and


heaterState instance variables to be retrieved and modified.
(4 marks)

e) Provide a constructor for the thermostaticHeaterSystem class that will


initialise the instance variables to suitable (valid) start values.
(3 marks)

f) Write a body for the evaluateStateO method that enables it to switch the
heater on and off (by updating the heaterState instance variable, where
appropriate) by comparing the current value oftemperatureLimit with the
current temperature, as returned by getCurrentTempO method.
(5 marks)

g) Write a short test harness using Nunit that instantiates the


thermostaticHeaterSystem class and demonstrates that the properties, the
constructor and the evaluateState method you designed in part (d), (e) and
(f) respectively behave correctly.
(6 marks)

THE END

Page 10 of 10

You might also like