CITS5501 Software Testing and Quality Assurance Project
You are working for Tempestuous Software, a startup which is developing their product
Agendum, a “to-do” list and appointments app.
Amongst other features, it:
• monitors current weather and traﬃc conditions in the user’s city;
• uses AI to analyse items on the user’s to-do list; and
• tries to determine whether weather or traﬃc conditions could interfere with any of
the user’s tasks to do or appointments, and alerts the user if so.
1. Input Space Partitioning
One of the Java methods in the system is assessWeatherImpact. It takes as input the
ID number of an item on the user’s “to-do” list, a String representing the user’s location
(a city name), and a URL to Tempestuous’s weather-reporting server.
Here is the documentation and signature for the method:
1 /** Return a measure of the likely impact of the current
2 * weather on the specified to-do item.
4 * The return value will be a number between 0.0 (no impact)
5 * to 1.0 (item is likely impossible to currently carry out),
6 * inclusive.
8 * @param taskID An ID number for an item on the user’s to-do list
9 * @param city The city the user is located in
10 * @param serverURL The URL of a web-server providing weather updates
11 * @return A number representing the assessed impact of the
12 * weather on the to-do list item.
14 public double assessWeatherImpact(String taskID, String city, URL
You will need to apply the Input Space Partitioning technique in order to develop unit
tests for the assessWeatherImpact method. Note that you need not write code for the
unit tests; but you should be able to state what they should do.
a. Explain whether any other parameters besides taskID, city, and serverURL need
be considered. (2 marks)
b. Work through the steps of the Input Space Partitioning process so as to derive at least
two test cases for the assessWeatherImpact method. You need not exhaustively
list every characteristic and partition you would use in the process, but should
mention at least two characteristics. (10 marks)
c. Based on your answer to (b), describe two test cases for the assessWeatherImpact
method. If any test doubles might be needed, state what sort. (5 marks)
If you need to make any assumptions, or would need additional information to provide an
answer, state the assumptions and what information you would need.
Suggested answer length: 1–2 pages.
2. Logic-based testing
One of the requirements you are given for the product is as follows:
• If (i) the weather is wet or the conditions are extreme, and (ii) the task is
outdoors, ﬂag the task as needing a weather impact assessment.
a. Suggest an appropriate predicate which could be used to represent the logic conditions
in this requirement.
You should include a list of any variables or functions you use, and explain what
they represent. (5 marks)
b. Explain how you would make each clause in the predicate active. Choose a particular
clause, and provide test cases in which that clause is made active, and set to true
and false, respectively. (8 marks)
本网站支持淘宝 支付宝 微信支付 paypal等等交易。如果不放心可以用淘宝交易！
E-mail: firstname.lastname@example.org 微信:itcsdx