Professional Documents
Culture Documents
« Learning Goals »
(proposal/quotation)
Start of operation
Receiving order
Delivery of the
Development
software
Planning
Development
Process that a software developer takes charges
Agreement
NDA: Non-Disclosure Agreement, service agreement
Methods of quotation
Various methods are used to estimate cost to create a quotation. Please refer to the appendix for major methods of
quotation.
Lifecycle process
A set of process from requirement definition to maintenance is called a lifecycle process of
software.
Process
Each task unit of the lifecycle process is called “Process.”
Sub-process
Operation that has to be done regularly during the whole development project is called sub-process or
supplementary process.
(details will be explained in “1.3 Sub-process”)
Outcome
Requirement Definition Document: summarizes items to be realized in the system based on
requirement from customer
Requirement Detailed
Basic design
Definition design
Non-Functional Requirements
Requirements other than actual functions such as performance and security.
Outcome
Basic Design Document (External Design Document)
System
Design
external
system
Requirement Detailed
functions
Basic design
Definition design
Module
A module is a part that has a certain function, constituting a system.
Outcome
Basic Design Document (Internal Design Document)
System
Designs how
Requirement Detailed
the system
Basic design
Definition design functions
internally
Independence of modules
If each module is highly independent, maintainability and expandability of the system is
improved.
Module strength
An index to measure independence of modules based on strength of relationship between
components, i.e. functions and data the system deals with, within the module.
When strength of modules is stronger, it is regarded as better.
Strength of a module with simple functions tends to be stronger.
When versatility is required to a module, strength of the module tends to become weaker.
> A module with logical strength is highly versatile.
Module strength
It is also called “degree of cohesion.”
Loose Data coupling A coupling where simple data is transferred not using common area or argument
(weak)
A coupling where data structure is transferred not using common area or argument
Stamp coupling
Transferred data may include unused data
A coupling where switches are transferred as parameters, and changes its process
Control coupling according to the value
A coupling where only necessary data that exist in common area are used by more
External coupling than one module
A coupling where same data that exist in common area are used by more than one
Common coupling module
Tight
(strong) Content coupling A coupling where part of content of other module is shared
External coupling
External coupling is sometimes regarded as a coupling where data having a data format that are externally provided
is shared.
1.2.4 Implementation
What is implementation?
After an executable module is created through coding with specified programming
language, it is placed in working condition into the target hardware or software.
If there is anything wrong with it, modify the software (debug).
Purpose of implementation
Code a software according to design documents so that it can be operated before
transferring it to test process.
Outcome
Source code
Execution module
Requirement Detailed
Basic design
Definition design
10
Reverse engineering
Creating an outcome through a backward procedure, taking steps from the end to the beginning of a software
development process, e.g. creating a source code based on implementation modules or creating a program design
document based on source code is called reverse engineering.
1.2.5 Test
What is test?
Runs a created program to check if it is implemented according to the specifications.
Purpose of testing
To evaluate quality of created program and improve the quality.
To detect a bug.
Outcome
Test specifications
Test results/test results report
Requirement Detailed
Basic design
Definition design
11
About a test
Refer to “Chapter 4 Software test” for details.
1.2.6 Maintenance
What is maintenance?
Monitors a product that is actually used by a user whether it is functioning properly.
Respond properly when business operation is hindered due to problems of the software
and/or when operation efficiency degrades by wrong usage of the software because proper
usage is not clearly described.
Purpose of maintenance
To improve customer satisfaction through assuring software quality as part of the service.
Malfunctions of software not revealed during test process may come to light afterwards or the
software may not be easy to use for users.
Requirement Detailed
Basic design
Definition design
12
Operation
Operating delivered software according to its operation rules and/or designing operation rules themselves is called
“Operation work” that is usually carried out in combination with maintenance work.
They may be called collectively as “Operation and maintenance work.”
Bathtub curve
A graph showing time dependence of number of bugs that occurred after maintenance.
At first, malfunctions that could not be detected with test occur. After that, occurrence of bugs gradually decreases
before starting to increase after a certain period of time.
Number of
bugs occurred Wear out
Stable
period
Infant
mortality
failure
Time
Bathtub curve
1.3 Sub-process
Sub-process
Some operations are carried out regularly other than operations directly related to the
development process with system development. This is called a “Sub-process” or a
“Supplementary process.”
Configuration of sub-process
Sub-process name Description
Schedule management (progress management),
Project management Review/meeting management, Member management
Test plan management, Regulations management,
Quality control Metrics management, Quality factor management, Bug
tracking
Configuration management, Version/Revision
Version management management
Development environment Hardware management, Software management,
management Communication tool management
Prevents invasion by a malicious program from outside
Security management
and leakage of confidential information stored within
Risk management Countermeasures for assumed risks
13
Risk management
It refers to a process managing risks at an organization level to prevent or mitigate hazard (origin and cause of
damage) or loss.
Project management
To manage the whole system development that many people are engaged so as to
proceed with the project as planned is called “Project management.”
Four items of person, material goods, and money as well as information are regarded as
the resources of project management and supply of the resources is controlled as
necessary.
Schedule management
To manage if a task proceeds as planned.
Usually a progress management table called Gantt chart is used for management.
Member management
Management of number of personnel engaged in a development project, working hours, motivation,
education, etc.
Manager motivates each member so that they can perform with highest productivity.
Review/meeting management
Proper reviews and meetings need to take place in an organization to realize a successful project.
14
Review
Review tends to be carried out without identifying its objectives. Moderator (facilitator of the review) must clearly
declare purposes of the review and lead the discussion so as not to deviate from the topic.
Please refer to the appendix for details of review.
Regulations management
Define description rules for standardizing formats and improvement of readability of project
documents.
Coding rules, Design document rules (template)
Metrics management
Measures and manages productivity such as number of lines or pages written per unit time, and
number of bugs found per unit time to identify best practice and rules for all operations related to the
development.
It is necessary to take the metrics data several times on a regular basis, not just once, to find out
tendency and measures.
15
Bug tracking
Continuous recording and sharing of information on malfunctions from identification and modification
of bugs found on the software.
System for bug tracking is called a bug tracking system.
> Redmine
> Bugzilla
> Trac
> Mantis
> JIRA
> ・・・
16
Version management
A system to manage modification history of edited files.
In software development, it mainly refers to a source code management.
Development PC
Repository server
Development PC
17
Types of versions
There are four different types of versions
• Major version: changes when applying fundamental modifications to a product.
• Minor version: changes when applying large specification changes and/or adding functions to a product.
• Revision: changes when applying specification changes and/or adding functions to a product.
• Build version: changes for each modification patch of a product.
A complete set of version numbers consist of these four types of version number divided by periods i.e., "(major
version number).(minor version number).(revision number).(build version number)."
Ex.) ver. 1.2.2.15
18
Security management
Prevents invasion by a malicious program from outside and leakage of confidential
information such as customer information stored within.
19
Non-disclosure agreement
Also called NDA (Non-Disclosure Agreement).
It is an agreement to close before transactions not to leak undisclosed information such as trade secret or personal
information.
20
Waterfall model
A software development model proposed for the first time.
As shown in the diagram below, it is characterized with a linear sequential process that are
carried out from the top to the bottom like a waterfall.
Outcomes generated at each process step to be transferred to the next process step are
called products.
Test Product
Maintenance
21
Test Product
Maintenance
22
Spiral model
Iterate lifecycle process of development to reach completion of development.
In spiral model, software meeting all complex requirements will not be created from the
beginning.
Analyze whole requirements first to extract and limit items that are more essential than
others or simple enough so that it can be easily implemented before starting development.
Analysis Requirement
Product specification
document
Basic design
Test
Execution module
Basic Design
Document
Detailed
Implementation design
Process
Detailed Design
Document
Product
23
Implementation
Analysis
Design
Test
Analysis
Implementation
Analysis
Design
Test
Design
Implementation
Analysis
Design
Test
Implementation
Implementation
Analysis
Design
Test
Implementation
Test
Analysis
Design
Test
Time Time
24
Scrum
Scrum is one of the agile development models. Rules are stipulated in "Scrum guide™."
https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf
Object-oriented
It went mainstream in the 2000s chiefly with business application development.
Based on the idea where data design and program flow are handled as a single “object” to meet
function requirements through their message collaboration (requirement relationship).
It is highly superior to procedure-oriented method in managing complexity.
25
Requirement analysis
It denotes examination and defining of a new system or system revisions in system
engineering and software engineering.
Identifies a fundamental question of “What is necessary with the system?”
Target will be modularized from the fundamental viewpoint of “function.”
26
Structured analysis
An analysis method based on procedure-oriented method.
Design method
Analysis result will be created as an outcome of system analysis.
The analysis results show summary of a system to be developed from user’s point of view
while it does not state how it should be realized and is deliberately not questioned for such
process.
On the other hand, design method is a tool to give a concrete method to realize the system
according to what the analysis result indicates.
27
Structured design
Design method based on procedure-oriented method.
Object-oriented design
Analysis models obtained with object-oriented analysis will be converted to models considering various kinds of
limitations.
<Alternatives>
a. Implementation b. Test c. Lifecycle process
d. Requirement definition e. Detailed design f. Basic design
28
Answer Column
Correct
Question Answer
Answer
1
<Alternatives>
a. granularity b. degree of coupling c. for general purposes
d. density e. dependence f. degree of condensation
29
Answer Column
Correct
Question Answer
Answer
1
30
Answer Column
Correct
Question Answer
Answer
1
<Alternatives>
31
Answer Column
Correct
Question Answer
Answer
1
Summary
32
33
Choice of method
There are several methods to analyze requirements of the target system. You should
choose one that fits for embedded systems.
Apply event list analysis as an effective requirement modeling method to proceed with
structured analysis and structured design.
Event list
An event list is a collection of events which occurs outside the system and to which system
needs to provide some values.
I want to
drink coffee
Event
Stimulus
Target system
34
Event Causality
Effect
Stimulus Response
Syste
m
Action
Event
Occurs outside a system and the system is not capable of controlling the occurrence.
It refers to an action that someone outside the system (user) can feel.
Stimulus
Information input to give stimulus to a system by an occurred event.
System interface (input interface) that operates between a system and a user.
Input switch is one of the examples.
Action
What a system brings about when an event occurred.
Overview of processing within the system.
However, it is the overview seen from outside only, which has nothing to do with internal process.
Response
Reaction against an action system brought about.
System interface (output interface) that operates between a system and a user.
Rotating propeller is one of the examples.
Effect
Impact given to outside of a system in response to the system.
A valuable result that is given to the users outside the system.
External view
When considering an event list, you would have a clear image of it if you specify external
view, user interface, and physical input/output.
Water
36
(i) First list up all the events (ii) List up actions (iii) List up effects
(iv) Fill in stimulus and response (if difficult to make a table, it can be described later (T.B.D))
38
Conversion
Data Data
Data store
39
Input Output
terminator terminator
Context diagram
40
Extract terminator
i. Extract input terminator
ii. Extract output terminator
41
Describe DFD.
i. Describe a context diagram
ii. Describe DFD0
iii. Describe DFD1
44
DFD level
With the example in this explanation, DFD1 is enough while more complex system requires description of DFD2 or
more.
User I/F
Pump
Request for brewing coffee
Coffee brewer lock command
Release coffee brewer lock I can drink coffee
LED indicating lack
Coffee beans sensor Runs out of coffee beans of coffee beans
Notifies lack of coffee beans
45
Lock
User input I/F Release the lock
Coffee beans User output I/F
sensor Request for
brewing 2. Notification of
Remaining Coffee brewer lock status
coffee
number of
coffee beans lock control
Pump Error status
1. LED indicating lack
Brewing coffee
Brewing of coffee beans
Remaining Error status
water level coffee
W ater level sensor
4.
Remaining Water Error LED
Water
water level supply
3.
temperature
Temperature
Error status
W ater temperature sensor control
Run/stop
Heater
46
Filter disposal
: New terminator machine
New terminator
There are terminators that cannot be noticed when defining an event list.
In this example, it was found out that a mechanism to set or dispose a filter was necessary when creating DFD1.
In such case, you can add a terminator at this point. Consistency with upstream design documents will be
considered separately.
Describe process name, function overview, input, and output as process definition.
Define process.
i. Extract processes from DFD1
ii. Define process
48
[Receive coffee brewing request: process definition] [Set a filter: process definition]
<Process name> <Process name>
Receive coffee brewing request Set a filter
<Function overview> <Function overview>
Receive request from a user to change Set a filter to filter machine
coffee brewing status <Input>
<Input> Coffee brewing status
User input I/F Filter sensor
<Output> <Output>
Coffee brewing status Coffee brewing status
Filter setting machine
Abnormal status
49
If system is highly complex, data design should be much more complicated.
If maintainability and expandability are required with a system, it may result in a complex
system.
If DBMS is introduced in a system, table design through data normalization would
be necessary.
Define data.
i. Extract data store from DFD1
ii. Describe data structure of each data store
50
i. Coffee brewing status : shows what status the coffee brewing machine is in
Coffee brewing status : a flag showing whether or not the machine is brewing coffee
51
52
Modularization will be carried out using STS division method in this textbook.
Modularization
i. Choose a process from DFD1
ii. Carry out STS division
iii. Describe a module structure diagram
iv. Commonalize common modules
53
“1. Coffee brewing process” in the example has following processes that can be defined as
modules.
1.1 Receive coffee brewing request
1.2 Set a filter
1.3 Supply coffee beans to the filter
1.4 Brew coffee
1.5 Dispose a filter
A data flow between each process and a terminator or a data store can be defined as a
detailed module.
Ex.) Module between terminators of “1.2 Set a filter”
Filter machine controller (output module)
Filter sensor controller (input module)
Obtain coffee brewing status (input module)
Change coffee brewing status (output module)
Obtain abnormal status (input module)
Change abnormal status (output module)
54
Process
STS division
Input Source Transform Sink Output
Process
Structure of a divided module
55
Carry out the operations shown below to the target process subject to
modularization:
i. Extract a terminator and/or a data store that are related to object process from DFD1,
and then describe input element to the left hand side and output element to the right hand
side.
ii. Define source module to each input element.
If input object is a terminator, source should be “XXX machine control/sensor control.”
If input object is a data store, source should be “obtain XXX.”
iii. Define a unique transform from the source and give it a general name of “XXX
management.”
iv. Define a sink equivalent to an output terminator from the transform.
If output object is a terminator, sink should be “XXX machine control.”
If output object is a data store, sink should be “change XXX.”
Process
XXX machine control XXX
Input terminator or machine Output terminator
XXX sensor control
XXX control
management
(management
of XXX) Change
Data store Obtain Data store
XXX XXX
56
Definition of a sink
The above slide states that “if output object is a terminator, a sink should be “XXX machine control,” which may
not be always the case, maybe unnatural in terms of process flow. If that happens, you may change the name.
Ex.) A case where an output terminator is an LED indicating lack of coffee beans
Lack of coffee beans LED machine control
Lack of coffee beans notifying machine control
[1. Detailed process of coffee brewing process - 1.1 Receive coffee brewing request]
57
A process with more than one input and output has multiple STS within the same
process.
[1. Detailed process of coffee brewing process - 1.2 Set a filter]
Source Sink
Source Sink
58
[1. Detailed process of coffee brewing process - 1.3 Supply coffee beans to the filter]
Abnormal
status Abnormal
status
Source
Sink
59
[Question] Fill in modules, terminators, and data stores by dividing process by STS division.
60
[Question] Fill in modules, terminators, and data stores by dividing process by STS division.
61
User input I/F Filter sensor Coffee beans Water level User output I/F
machine control control sensor control sensor control machine control
Change coffee Filter machine Coffee beans Pump machine Filter disposal
brewing status control machine control control machine control
Change
Change coffee Change coffee Brewing coffee abnormal status
brewing status brewing status Change status
LED indicating
lack of coffee Process
beans control
62
process
Obtain abnormal User I/F input Filter sensor Filter machine LED indicating
Obtain coffee lack of coffee
brewing status status machine control control control
beans control
cmn mcnCtl
63
Module design
i. Select arbitrary module in the module structure diagram
ii. Describe functions and overview of the module
iii. Describe module input/output specifications
*Carry out above (i) through (iii) to all modules
64
65
Definition of terms
A term “module” is not what will not be stipulated with implementation, but is what designers use.
A term “function” is what is stipulated with implementation, and is what implementers use.
Logical name: coffee brewing status Logical name: system abnormal status
Name of the variable: statCoffOut Variable name: errCodeSystem
Type : char Type : char
Description: shows current status from a set of Description: shows type of abnormality when
status related to coffee brewing. the system is in abnormal status.
Definition: Definition:
0: standby status 0: Normal
1: setting a filter -1: Runs out of filters
2: Supplying coffee beans -2: Runs out of coffee beans
3: Brewing coffee -3: Runs out of water
4: Disposing a filter -4: Other abnormality
67
68
Implementation process
At the implementation process, algorithm design (flowchart, structured chart) and data
design for each module are carried out before coding with a programming language.
While there are various styles or convention on procedures and methods of
implementation, how a function works and input/output interface specifications are
determined at the design process, and they cannot be modified at implementer’s own will.
Algorithm design
Flowchart is highly flexible, and is capable of describing any algorithm of languages.
In principle, when you use structured language, it is advisable to use structured chart for algorithm
design.
Test process
Verify quality at test process step-by-step (details of the test process will be explained
later).
69
<Alternatives>
a. degree of coupling b. granularity c. strength
d. density e. DFD g. PAD
f. FDD g. context diagram h. semantic diagram
i. action j. stimulus k. response
l. event m. effect n. function
70
Answer Column
Correct
Question Answer
Answer
1
<Alternatives>
a. degree of coupling b. granularity c. strength
d. density e. DFD G. PAD
f. FDD g. context diagram h. semantic diagram
i. action j. stimulus k. response
l. event m. effect n. function
71
Answer Column
Correct
Question Answer
Answer
4
Summary
72
« Learning Goals »
73
Design method using state transition diagrams and state transition tables
This is a model with a combination of finite number of “state,” “transition,” and “action.”
Next state will be determined by “event” and the current state.
Described with state transition diagrams or state transition tables where diagrams and
tables showing the same meaning domain with different representation.
State 0
S State 0 State 1
Event 1 E 0 1
Event 0
/Process 3 1 -
/Process 1 Event 2 Event 0 0
/Process 4 Process 1 Process 2
0
Interconvertible Event 1 1 Process 3
State 1 Event 2 2
0
Process 4
Event 0
/Process 2
Using
Partly using Not using
extensively
Flowchart
Timing chart
Others
Fact-finding survey on embedded software industry for development project managers (multiple answers
accepted), 2009, Ministry of Economy, Trade and Industry (METI)
75
Event Event 1
Event 0
/Process 3
/Process 1 Event 2
/Process
4
Action
Transition
State 1
Transition condition
Event 0 [condition]/Process 2
Action Function or process implemented when specified event occurred under specified internal state
Transition Change from one state to another state or its own state
76
E 0 1
Transition condition 1 else Transition condition
Event Event 1 0 State 1 - Disregard
Action 1 Action 2
State 2
Event 2 1
Action 1
Unacceptable
Action Transition target
An example of state transition table
77
Initial state
Triangle showing the initial state can be solid (no particular meaning, triangle can be omitted).
Specifications of a CD player
Initially, the CD player is stopped
When PLAY button is pressed, it plays a CD
When playing a CD, only STOP and PAUSE buttons are operable
When STOP button is pressed while playing a CD, the player stops playing
When PAUSE button is pressed while playing a CD, player stops temporarily, and when the
button is pressed again, restart the play
E 0 1 2
Press down 1 1
0
PLAY button Start playing Restart playing
Press down 0 0
1
STOP button Stop playing Stop playing
Press down 2 1
2
PAUSE button Pause playing Restart playing
78
E 0 1 2
1 - -
Event 0 0
Process 1 Process 2 Process 5
1
Event 1 1 Process 6
2 0
Event 2 3 Process 4 Process 7
Omission is clearly
You can describe disregard
shown
You can describe unacceptable
79
State transition design is a design method for designing a system of which behavior
changes with the change of state of an object.
Since embedded systems usually have such characteristics, state transition design
is suitable for designing an embedded system.
While process steps that uses state transition design are often downstream
process steps such as detailed design or programming design at implementation
stage, it may be used to analyze upstream process steps as well.
80
Does the state transition table meet the flow of requirement specifications?
Is the transition of states with event occurrence properly realized?
81
Specifications
System name: Fan
When you turn on the power, a motor begins to rotate to produce wind.
You can change wind strength from weak to medium and then to strong by turning switch,
before going back to weak when you turn the switch once again.
You can turn it off at any state.
When you turn it on, wind strength is always weak.
Question 1
Write a state transition diagram of the fan.
Question 2
Write a state transition table of the fan.
82
<Alternatives>
83
Answer Column
Correct
Question Answer
Answer
1
Summary
84
« Learning Goals »
85
Test
An operation to maintain product quality above a certain criteria.
It is also called “testing.”
Dynamic test
A test where a product is actually put into operation.
Tests carried out at the test process are mainly dynamic tests.
Static test
A test where a product will not be put into operation.
Static test is mainly carried out at a review.
86
Test level
Granularity classifying object of the test is called a test level.
A test will be carried out at each test level.
Test base
Development documents to infer requirements for the test.
87
Operation test
A test after the acceptance test may be called an “operation test.”
4.2.1 V model
Relationship between test and process
Each test level has a corresponding process.
Test level is shown on the ordinate in the V model.
Validity check
Requirement
Acceptance test
Definition
Acceptance test
specification document
Test level
System test specification
document
Source: Drawn based on the Figure 3.1 Review point of V model in Chapter 3 “Static technique” of “JSTQB Textbook/JSTQB certification test for
an engineer, Foundation Level test” 88
Test base
Detailed Design Document, Design document at implementation, source code
Test items
Create test items focusing on internal structure of the module and functions the module
should have.
Component
Component is a minimum unit of software that can be tested independently.
4.2.2.1 Stub/driver
Stub
An alternative module that has input/output interface of lower module that calls the test
object module.
Driver
An alternative module of upper module that calls the test object module.
Programmer Programmer
Stub
Object Object
of the Driver of the
Test test test
Test
Stub
90
Test base
Basic Design Document, Detailed Design Document
Test items
Create test items focusing on the interaction between modules.
91
Top-down test
Start the test from the top module and then advance to Module A Module A
lower modules with integrating each module.
Characteristics
Stub of
Enables early detection of serious malfunctions such as Module B
module A
discrepancies in the understanding of specifications
between modules and interface errors.
It is difficult to break down the test operation Stub of
module B
Use stubs
Top-down test
Bottom-up test
Start the test from the bottom module and then Driver of
advance to higher modules with integrating each module B
module.
Characteristics Driver of
Module B
It is easy to carry out the test and development module C
simultaneously
If serious problems are found at later half of the test, lower
modules that have been tested are also affected. Module C Module C
Use drivers
Bottom-up test
92
93
Test base
Requirement Definition Document, Basic Design Document
94
Test base
Request Definition Document, Requirement Definition Document, User Document,
regulations/standards/agreements, etc.
95
Beta test
For commercial software, a beta test may be carried out to seek feedback. A user use the software tentatively for
the whole or part of the system with certain restricted functions.
96
Causes for reworks (by METI): from “Introduction to software” Gijutsu-Hyohron Co., Ltd.
Inadequate
development
environment
Improper 0.3%
standalone test Others
1.7% 1.0%
Not known
Incomplete test specifications 5.3%
2.8%
Improper integration test
4.8% Incomplete requirement
Coding mistakes specifications
5.0% 29.9%
Improper
production test
8.8%
Erroneous
software design
Incomplete 18.6%
specifications
17.4%
97
Semi-normal test
A test to check if the target software handles an abnormal event according to what is specified in the specifications.
Test specifications
Please refer to appendix for examples of test specification documents.
Flowchart
Check if the flow goes through
path 1 when value of A is x,
Specification
Path 2 and it goes through path 2
when the value is y. Document
Path 1 A B
Input A will
result in
output B
Equivalence partitioning
A test technique where group (equivalence class) values together, which give the same
output for certain inputs before selecting a representative value from each group.
Group that gives valid inputs is called “valid equivalence class,” and group that gives invalid
inputs is called “invalid equivalence class.”
Testing with representative values of “equivalence class” is regarded as covering all the
tests for input values under that condition.
This way you can reduce the number of test cases.
…6 7 8 … 16 17 18 …
Choose representative values from three classes to make them test cases
99
-1 0 6 7 17 18 MAX MAX+1
100
Problem
Date input screen is as shown below.
Execution
Question
What are the boundary values to be tested for month field?
What are the boundary values to be tested for day field in January?
101
Problem
Specifications as explained below are stipulated by automobile loan contract of company A
as “contract conditions with a customer.”
Annual income of borrower of the contract should be 4 million yen or more and 20 million yen or less
Purchase amount of borrower of the contract should be 1 million yen or more and 10 million yen or
less
Unit of the annual income and purchase amount is 10 thousand yen.
Question
What are the boundary values to judge eligibility of the automobile loan contract?
Create a graph with its ordinate showing purchase amount and abscissa showing annual income.
102
Contract object is a person with annual income of 4 million yen or more and 20 million yen or less
• A person with annual income of less than 4 million yen is considered to be incapable of paying it back.
• For a person with annual income of more than 20 million yen, such loan is considered to be unnecessary.
[Number of test cases where impossible or meaningless combinations are not omitted]
(number of test cases) = two to the (number of input conditions)th power
In the above case, (number of test cases) = two to the second power = 4
103
Problem
Input screen is as shown below.
Name Age
Occupation
Registration
Question
Create a decision table to judge acceptance of the registration depending on combination
of the input values where validity of input values for name, age, and occupation is shown as
“True” when valid and “False” when invalid.
Acceptance of the registration will be shown by “True” when acceptable, and “False” when
inacceptable. 104
Problem
Specifications of a file updating program
When input a file name as a file updating command parameter, the first character is either “J” or “E,”
and the characters that come after it should be numeric.
When the first character is “J,” the file will be updated with S-JIS while the file will be updated with
EUC when the first character is “E.”
If the first character of the file name is not as specified, show “Error 1” and if characters for second or
later is not correct, show “Error 2,” and the file will not be updated.
Question
Create a decision table with patterns of parameter inputs and results, and list combinations
that can be test cases.
[Example of the display]
>updatefile J1234 <- will be updated
>update success!
Test plan
Test will be carried out based on the test plan.
Determine how to proceed with the test policy and create a test plan document.
106
Return on investment
Quality may improve as you spend more money on it indefinitely while improvement gets
smaller and smaller as the total cost increases.
Identify criteria for test completion in the test plan considering how much you can spend on
the product or how malfunction may impact the market.
Criteria where a
mission critical
system should
exceed
Criteria where a
system that is not
mission critical
should exceed
Cost
Mission critical
A backbone system or a computer system that interruption or stop of the system is not permitted.
Transportation and financial institutions have many such mission critical systems. Errors may cause a critical
consequences such as loss of large amount of money or loss of credibility.
If a system error may end up with a fatal incident, it is a mission critical system.
Purpose of testing
Purpose of testing is to identify malfunctions of software.
It is not to prove the software is free of malfunctions.
108
<Alternatives>
109
Answer Column
Correct
Question Answer
Answer
1
<Alternatives>
110
Answer Column
Correct
Question Answer
Answer
1
<Alternatives>
111
Answer Column
Correct
Question Answer
Answer
1
Summary
112