You are on page 1of 11

Guideline to make and understand Unit Test Case

1. Overview
- In the template, Unit test cases are based on functions. Each sheet presents test cases for one function.
- Cover: General information of the project and Unit Test cases
- FunctionList: The list of Classes and Functions in the document.
+ To control that the number of Unit TC meets customer's requirement or the norm, user should fill value for
'Normal number of Test cases/KLOC'.
+ Click on Function link to open the related Test cases of the function.
Note: You should create new Function sheet before creating the link
- Test Report: provive the overview results of Functions Unit test: Test coverage, Test successful coverage
(Summary, for normal/abnormal/boundary cases)
Note: Should check the formula of "Sub Total" if you add more functions

2. Content in Test function sheet


2.1 Combination of test cases.
number test cases/KLOC' item in FunctionList sheet, which is required by customer or normal value. The number of lacked TC
test cases' item.
-- IfIfthe
thenumber
numberof of
Unit'Normal
TC doesnumber
not meet thecases/KLOC'
test requirement,item
creator should explain
in FunctionList the reasons.
sheet is not recorded, the number in 'Lack
calculated.

2.2 Condition and confirmation of Test cases.


Each test case is the combination of condition and confirmation.
a. Condition:
- Condition is combination of precondition and values of inputs.
- Precondition: it is setting condition that must exist before execution of the test case.
Example: file A is precondition for the test case that needs to access file A.
- Values of inputs: it includes 3 types of values: normal, boundary and abnormal.
. Normal values are values of inputs used mainly and usually to ensure the function works.
. Boundary values are limited values that contain upper and lower values.
. Abnormal values are non-expected values. And normally it processes exception cases.
- For examples:
Input value belongs to 5<= input <=10.
. 6,7,8,9 are normal values.
. 5, 10 are boundary values.
. -1, 11,... are abnormal values.
b. Confirmation:
- It is combination of expected result to check output of each function.
If the results are the same with confirmation, the test case is passed, other case it is failed.
- Confirmation can include:
+ Output result of the function.
+ Output log messages in log file.
+ Output screen message...
c. Type of test cases and result:
- Type of test case: It includes normal, boundary and abnormal test cases. User selects the type based on the type of inp
- Test case result: the actual output results comparing with the Confirmation.
P for Passed and F for Failed cases.
It can 'OK' or 'NG' (it depends on habit of the teams or customers)

2.3. Other items:


- Function Code: it is ID of the function and updated automatically according to FunctionList sheet.
- Function Name: it is name of the function and updated automatically according to FunctionList sheet.
- Created By: Name of creator.
- Executed By: Name of person who executes the unit test
- Lines of code: Number of Code line of the function.
- Test requirement: Brief description about requirements which are tested in this function, it is not mandatory.
UNIT TEST CASE

Project Name <Project Name> Creator


Project Code <Project Code> Reviewer/Approver
Issue Date <Date when this test report is created>
Document Code <Project Code>_XXX_vx.x
Version

Record of change
Effective Date Version Change Item *A,D,M Change description Reference
<Date when these <List of documents which are refered in this version.>
changes are effective>

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 3/11


Function Code Bai 1 Function Name Bài 1
Created By TrangDTT Executed By TrangDTT
Lines of code 100 Lack of test cases 3
Test requirement <Brief description about requirements which are tested in this function>
Passed Failed Untested N/A/B Total Test Cases
0 0 7 2 3 2 7

UTCID01
UTCID02
UTCID03
UTCID04
UTCID05
UTCID06
UTCID07
Condition Precondition

n
0 O
1 O
2 O
11 O
12 O
13 O
null O
Confirm Return
1
FLASE
Exception

Log message
"success" O O O O
"not success" O O
"input1 is null" O
Result Type(N : Normal, A : Abnormal, B : Boundary) A B N N B A A
Passed/Failed
Executed Date
Defect ID

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 4/11


UNIT TEST CASE LIST
Project Name <Project Name>
Project Code <Project Code>
Normal number of Test cases/KLOC 100
Test Environment Setup Description <List enviroment requires in this system
1. Server
2. Database
Requirement 3. Web Browser
Function
No Class Name
Function Name Sheet Name Description Pre-Condition
Name ... Code(Optional)
1 Class1 Function A >
Function1 Function1
2 Class2 Function B Function2 Function2
3 Class3 Function C Function3 Function3

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 5/11


UNIT TEST REPORT
Project Name <Project Name> Creator
Project Code <Project Code> Reviewer/Approver
Document Code <Project Code>_Test Report_vx.x Issue Date <Date when this test report is created>
Notes <List modules included in this release> ex: Release 1 includes 2 modules: Module1 and Module2

No Function code Passed Failed Untested N A B Total Test Cases


1 Function1 12 2 1 12 2 1 15
2 Function2 12 3 0 12 2 1 15
3 Function3 12 2 1 12 2 1 15

Sub total 36 7 2 36 6 3 45

Test coverage 95.56 %


Test successful coverage 80.00 %
Normal case 80.00 %
Abnormal case 13.33 %
Boundary case 6.67 %

Passed Percent Test Type

Untested B
4% 300%
Failed A
16% 600%
Passed N A

Failed
B
Untested
Passed N
80% 3600%

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 6/11


Failed
B
Untested
Passed N
80% 3600%

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 7/11


Function Code Function1 Function Name Function A
Created By <Developer Name> Executed By
Lines of code 100 Lack of test cases -5
Test requirement <Brief description about requirements which are tested in this function>
Passed Failed Untested N/A/B Total Test Cases
12 2 1 12 2 1 15

UTCID01
UTCID02
UTCID03
UTCID04
UTCID05
UTCID06
UTCID07
UTCID08
UTCID09
UTCID10
UTCID11
UTCID12
UTCID13
UTCID14
UTCID15
Condition Precondition
Can connect with server

Input1
"1" O
""
null O
Input2
>=5 & <= 10
5 O
10 O

Confirm Return
1
2
Exception

Log message
"success"
"input1 is null"
Result Type(N : Normal, A : Abnormal, B : Boundary) N N N N N B A N N N N N A N N
Passed/Failed P P P P P F F P P P P P P P
Executed Date 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Defect ID 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3
/ / / / / D/ D/ D/ D/ D/ D/ D/ D/ D/ D/
2 2 2 2 0 F0 F0 F0 F0 F0 F0 F0 F0 F1 F1
6 6 7 8 1 I2 I3 I4 I5 I6 I7 I8 I9 I0 I1
D D D D D D D D D D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1
2 4 5 6 7 8 9 0 1 2

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 8/11


Function Code Function2 Function Name Function B
Created By <Developer Name> Executed By
Lines of code 300 Lack of test cases 15
Test requirement <Brief description about requirements which are tested in this function>
Passed Failed Untested N/A/B Total Test Cases
12 3 0 12 2 1 15

UTCID01
UTCID02
UTCID03
UTCID04
UTCID05
UTCID06
UTCID07
UTCID08
UTCID09
UTCID10
UTCID11
UTCID12
UTCID13
UTCID14
UTCID15
Condition Precondition
Can connect with server

Input1
"1"
""
null
Input2
>=5 & <= 10
5
10

Confirm Return
1
2
Exception

Log message
"success"
"input1 is null"
Result Type(N : Normal, A : Abnormal, B : Boundary) N N N N N B A N N N N N A N N
Passed/Failed P P P P P F F P P P P P F P P
Executed Date 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Defect ID 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3
/ / / / / D/ D/ D/ D/ D/ D/ D/ D/ D/ D/
2 2 2 2 0 F0 F0 F0 F0 F0 F0 F0 F0 F1 F1
6 6 7 8 1 I2 I3 I4 I5 I6 I7 I8 I9 I0 I1
D D D D D D D D D D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1
2 4 5 6 7 8 9 0 1 2

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 9/11


Function Code Function3 Function Name Function C
Created By <Developer Name> Executed By
Lines of code 300 Lack of test cases 15
Test requirement <Brief description about requirements which are tested in this function>
Passed Failed Untested N/A/B Total Test Cases
12 2 1 12 2 1 15

UTCID01
UTCID02
UTCID03
UTCID04
UTCID05
UTCID06
UTCID07
UTCID08
UTCID09
UTCID10
UTCID11
UTCID12
UTCID13
UTCID14
UTCID15
Conditio Precondition
Can connect with server

Input1
"1"
""
null
Input2
>=5 & <= 10
5
10

Confirm Return
1
2
Exception

Log message
"success"
"input1 is null"
Result Type(N : Normal, A : Abnormal, B : Boundary) N N N N N B A N N N N N A N N
Passed/Failed P P P P P F F P P P P P P P
Executed Date 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Defect ID 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3
/ / / / / D/ D/ D/ D/ D/ D/ D/ D/ D/ D/
2 2 2 2 0 F0 F0 F0 F0 F0 F0 F0 F0 F1 F1
6 6 7 8 1 I2 I3 I4 I5 I6 I7 I8 I9 I0 I1
D D D D D D D D D D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1
2 4 5 6 7 8 9 0 1 2

02ae-BM/PM/HDCV/FSOFT v2/1 Internal use 10/11


Function Code Function1 Function Name Function A
Created By <Developer Name> Executed By
Lines of code 100 Lack of test cases -5
Test requirement <Brief description about requirements which are tested in this function>
Passed Failed Untested N/A/B Total Test Cases
0 0 15 0 0 0 15

UTCID01
UTCID02
UTCID02
UTCID02
UTCID02
UTCID02
UTCID07
UTCID08
UTCID09
UTCID10
UTCID11
UTCID12
UTCID13
UTCID14
UTCID15
Condition Precondition

a
-2 O
-1 O
0 O O O
1 O O
b
0 O O
-2 O O O
2 O
c
0 O
1 O O O
3 O
5 O

Confirm Return
list
null O O O
size = 0 O
{-1/2} O
{1,1} O
{1,-3} O
Exception

Log message
"please input a>= -1" O

Result Type(N : Normal, A : Abnormal, B : Boundary) A N N N N N B


Passed/Failed
Executed Date 0 0 0 0 0 0 0
Defect ID 2 2 2 2 2 2 3
/ / / / / / /
2 2 2 2 2 2 0
02ae-BM/PM/HDCV/FSOFT v2/1 Internal
6 6use6 6 6 6 3 11/11

You might also like