Homework

A sample set of exam questions from previous years:

Eastern Mediterranean University - Computer Engineering Department

CMSE-326 Software Quality Assurance and Testing

 Midterm Exam

 Duration: 100 Minutes              Open book, open notes                   November 21, 2011

Q1) (50 points) Assume that you are given the task of developing a testing strategy and an associated test plan for a new EMU registration program for graduate and undergraduate students. Assume the program is being developed by EMU Computer Center employees, and research assistants of the Computer Engineering department,

 a) How will you develop a testing strategy for this program? What kind of a strategy is better suited for this program? Briefly explain the structure of your testing strategy.

 b) Based on your testing strategy, and assuming that all individual modules are already tested, explain what type of black box tests you will run on this new registration program.

 c) After you are finished with your testing, can you be sure that the program is free of errors? Explain.

 Q2) (20 points) Given the following flow-graph representing a short program:

a)      Find the cyclomatic complexity of this flow-graph.

b)      Find a basis set of linearly independent paths for it.

c)      Develop tests cases by listing nodes in visiting order, (like 1-2-4-6-…) which will exercise full coverage for this graph. (So, test cases will force the execution of each linearly independent path in the basis set.)

Q3) (30 points) In a program written by other people, users are supposed to enter the current date in a field:       DD/MM/YYYY

 You are given the task of testing whether this input operation works correctly, using a domain testing approach, but you have limited time. Do an equivalence class analysis on day, month and year fields and explain the tests that you would run.

a)      First assume  non-integer values are not allowed for these fields.

b)      Then, assume non-integer values may also be entered.

--------------------------------------------------------------------------------------------------------------------------------------------

Eastern Mediterranean University - Computer Engineering Department

CMSE-326 Software Quality Assurance and Testing

 Final Exam

Duration: 120 Minutes              Open book, open notes                      January 11, 2012

Q1) (40points) Assume that you are given the task of developing a testing strategy and an associated test plan for a web-based course grade assignment program for EMU undergraduate students. Assume the program is already developed by EMU Computer Center employees, and you are not given the source code.

 The program works as follows: Academic staff members (lecturers or assistants) first enter their code for authorization. Then they select a course which is offered in the current semester. The list of students enrolled to the course appears on the screen and for each student, total scores (out of 100) for all course activities (exam, attendance, homework, or project) is entered.  The program then uses defined grade ranges to assign letter grades to students (for example, total score < 50 means the student gets F, total score > 90 means he/she gets A, etc.). Finally, the list of assigned letter grades is displayed for a final check, and upon approval of the academic staff member, it is saved in the Registrar's Office database. The user then logs out of the system. 

a) What kind of a testing strategy is better suited for this program? Briefly explain the strategy you propose, stating your reasoning clearly. 

b) Based on your testing strategy decision, state which individual tests you will run on this grade assignment program. Explain each test giving an example.

 Q2) (30 points) Assume that you are developing a new sorting program which takes a one dimensional non-negative integer array of a maximum size=100, then sorts it in ascending (increasing no.) order using the quick-sort algorithm, and then prints the input array and the sorted array. How would you test this program? Explain your approach clearly.

 Q3) (30 points) Assume a large company with more than 1,000 employees already has an employee records keeping and wage computation program which is working fine, and the source code is available. The company has bought another company and 800 more employees are going to join the payment system. However, the new employees will be paid on a different scale (lees TL's per hour). You are given the task of modifying the employee program and testing it. Explain what type of testing strategy you would apply for this case. Then, discuss the tests you would run.

--------------------------------------------------------------------------------------------------------------------------------------------

Eastern Mediterranean University - Computer Engineering Department

CMSE-326 Software Quality Assurance and Testing

 Final Exam

Duration: 120 Minutes                Open book, open notes                      January 7, 2013

Q1) (30points) An international airport in Turkey is using a gate-assignment program to assign planes to 20 airport gates at Terminal A. The airport is being extended with a new terminal building B with 40 more gates. A software company has modified the current gate assignment program to cover the new 40 gates of building B as well. You are working as the test engineer of a third-party company and you are assigned the task of testing the extended gate-assignment program to work on 60 gates at both terminal buildings: A and B.

a) What kind of a testing strategy is better suited for this program? Briefly explain the strategy you propose, stating your reasoning clearly.

b) Based on your testing strategy decision, state which individual tests you will run on this extended gate assignment program by giving examples.

Q2) (20 points) Consider the following graph G1:

a)      What are the initial nodes of G1?

b)      What are the final nodes of G1?

c)      List all paths that start from initial nodes

and end in final nodes.

d)     Find the reachability set of each node of G1.

Q3) (20 points) Consider the following graph G2:

Given:

def(1) = {x}, def(6) = {x}, def(4) = {y},

use(4) = {x}, use(5) = {y}, use(6) = {x}, use(7) = {x}

a)      Find all define-use paths for variable x,

b)      Find all define-use paths for variable y.

Q4) (30 points) Assume you are given the following modular hierarchy diagram of a software project and you will perform unit and integration tests for this software.

a)      How would you test this software with top-down integration approach? Explain.

b)      How would you test this software with bottom-up integration approach? Explain.

--------------------------------------------------------------------------------------------------------------------------------------------

Eastern Mediterranean University - Computer Engineering Department

CMSE-326 Software Quality Assurance and Testing

 Midterm Exam

Duration: 90 Minutes               Open book, open notes                      November 7, 2012

Q1) (50 points) Consider an online reservation and ticketing system for a bus company that runs busses between Gazimagosa-Lefkosa and Gazimagosa-Girne.

The program is developed by programmers of some other software company and you are given the Source Code, User's Manual and the Requirements Document for this software system.

The system is an online system, which serves passenger requests on the Web. The passenger can see the time schedule of busses, and he/she can select a certain bus and check whether there are empty seats or not. If there are empty seats, the passenger can either make a reservation, or buy a ticket for that bus. Reservations are kept until 6 hours before the departure of the bus. Payments are made by credit card, through the online banking system of Bank-XXX.

You are the test engineer of an independent testing company, and you are given the task of developing a testing strategy and an associated test plan for this software system. Explain how you would do these, giving details about the testing strategy and discussing the test plan briefly.

Q2) (20 points) Given the following flow-graph representing a short program:

a)      Find the cyclomatic complexity of this flow-graph.

b)      Find a basis set of linearly independent paths for it.

c)      Develop tests cases by listing nodes in visiting order, (like 1-2-4-6-…) which will exercise full coverage for this graph. (So, test cases will force the execution of each linearly independent path in the basis set.)

Q3) (30 points) Giving examples when necessary, discuss:

a)      The difference between boundary value testing and robustness testing.

b)      The difference between robustness testing and worst-case testing.

--------------------------------------------------------------------------------------------------------------------------------------------

Eastern Mediterranean University - Computer Engineering Department

CMSE-326 Software Quality Assurance and Testing

 Final Exam

Duration: 110 Minutes                  Open book, open notes                       May 30, 2017

Q1) (50 points) Assume that you are given the task of developing a testing strategy and an associated test plan for a hospital rendezvous management system for a hospital in Gazimagosa. Assume the program is already developed by a software company, and you are given the source code, user's manual and the requirements document.

The brief description of the system is as follows: Patients make reservation over the Internet. Reservations can be made for 1-7 days from the current day. The patient first enters the web site of the hospital, clicks reservations, then, a menu will show up, which will have a calendar of the coming 7 days. After the patient selects the date, a second menu will appear showing specialty types and rendezvous slots available on the chosen day, on an hourly basis. The patient then selects the specialty type for his/her rendezvous. If there is availability at that period, the system asks for patient information (name, citizen id number, address, phone no, email, etc.) and records the rendezvous for that person. An email and an SMS message are sent to the patient with the rendezvous information. The user then logs out of the system.

a) What kind of a testing strategy is better suited for this program? Briefly explain the strategy you propose, stating your reasoning clearly.

b) Based on your testing strategy decision, state at least five individual tests you will run on this program. Explain each test giving a solid example.

Q2) (25 points) Name TWO tools that you used for testing in your term project.

  1. Explain how and why you chose these tools.
  2. Discuss the advantages and disadvantages of using these tools you chose.
  3. Would you recommend these tools to others? Explain your reasoning clearly.

Q3) (25 points)

  1. Draw a use case diagram and write the related scenario for a student borrowing a book from EMU library.
  2. Based what you provided in part-a, discuss how 'borrowing a book' operation of the EMU Library System can be tested at system level using the threads approach, assuming that you are given limited time for this test.

------------------------------------------------------------------------------------------------------------------------------------------- 

Eastern Mediterranean University - Computer Engineering Department

CMSE-326 Software Quality Assurance and Testing 

 Midterm Exam

Duration: 90 Minutes                  Open book, open notes                        April 17, 2017

Q1) (50 points) Assume that you are given the task of testing a University web site and assessing it's quality, and you are given a limited amount of time. Considering what you have done and will be doing for your term project work:

a) Explain what kind of a testing strategy you will consider for this task,

b) Discuss the type of tests you will run.

c) Discuss which tools will be appropriate to run the tests you mentioned in your answer to part 'b'. Which tests should be carried out manually?

d) How would you assess the quality of the web site?

Q2) (25 points) Consider the following graph G1:

  1. Find the reachability set of each node of G1.
  2. List all test paths in G1.
  3. Find all simple paths of G1 with length 2 (i.e. 2 edges, three nodes).
  4. Find all prime paths of G1.       

Q3) (25 points) Explain the following terms giving diagrams/figures when necessary:

  1. Robustness Testing
  2. du-path
  3. Cyclomatic complexity
  4. 3-connected node
  5. Sidestrip

------------------------------------------------------------------------------------------------------------------------------------------- 

Eastern Mediterranean University - Computer Engineering Department

CMSE-326 Software Quality Assurance and Testing 

 Midterm Exam

Duration: 90 Minutes              Open book, open notes                      December 5, 2014

Q1) (50 points) Assume that you are given the task of developing a testing strategy and an associated test plan for a web-based course grade assignment program for graduate students of EMU. Assume the program is already developed by a private company, and you are given the source code, user's manual and the requirements document.

The program works as follows: Lecturers first enter their code for authorization. Then they select a graduate course which is offered in the current semester. The list of students enrolled to the course appears on the screen and for each student, total scores (out of 100) for all course activities (exam, attendance, homework, or project) is entered.  The program then uses defined grade ranges (A, A-, B+, ..,D-, F) to assign letter grades to students (for example, total score < 50 means the student gets F, total score > 90 means he/she gets A, etc.). Finally, the list of students with assigned letter grades is displayed for a final check. Upon the approval of the academic staff member, it is saved in the Registrar's Office database. The user then logs out of the system.

a) What kind of a testing strategy is better suited for this program? Briefly explain the strategy you propose, stating your reasoning clearly.

b) Based on your testing strategy decision, state at least five individual tests you will run on this grade assignment program. Explain each test giving an example.

Q2) (25 points) Consider the following graph G1:

  1. List all paths that start from initial nodes and end in final nodes.
  2. Find the reachability set of each node of G1.
  3. Find all simple paths of G1.
  4. Find all prime paths of G1.
    (Hint: a path from node i to node j is a prime path if it is a simple path and it does not appear as a proper sub-path of any other simple path.)

Q3) (25 points) Compare the Robustness Testing, Worst-case Testing and Robust Worst-case Testing approaches. What are their differences? What are their similarities? Give illustrative examples using a function f(x1, x2) of two variables.