Practical No. 2
Practical No. 2
Practical No. 2
2
Aim: Design and write test cases for simple calculator application
Theory:
A TEST CASE is a set of actions executed to verify a particular feature or
functionality of your software application. A Test Case contains test steps, test data,
precondition, postcondition developed for specific test scenario to verify any
requirement. The test case includes specific variables or conditions, using which a
testing engineer can compare expected and actual results to determine whether a
software product is functioning as per the requirements of the customer.
For a Test Scenario: Check Login Functionality, there many possible test cases are:
Let’s create a Test Case for the scenario: Check Login Functionality
Step 2) In order to execute the test case, you would need Test Data. Adding it below
Step 3) In order to execute a test case, a tester needs to perform a specific set of
actions on the AUT. This is documented as below:
Test Test Case Description Test Steps Test Data
Case #
1 Check response when valid email and 1) Enter Email Email: comp@email.com
password is entered Address Password: lNf9^Oti7^2h
2) Enter
Password
3) Click Sign in
Many times, the Test Steps are not simple as above, hence they need documentation.
Also, the author of the test case may leave the organization or go on a vacation or is
sick and off duty or is very busy with other critical tasks. A recently hire may be
asked to execute the test case. Documented steps will help him and also facilitate
reviews by other stakeholders.
Step 4) The goal of test cases is to check behavior the AUT for an expected result.
This needs to be documented as below
Test Test Case Description Test Data Expected Result
Case #
Step 5) That apart your test case -may have a field like, Pre - Condition which
specifies things that must in place before the test can run. For our test case, a pre-
condition would be to have a browser installed to have access to the site under test.
A test case may also include Post - Conditions which specifies anything that applies
after the test case completes. For our test case, a postcondition would be time & date
of login is stored in the database
This entire table may be created in Word, Excel or any other Test management tool.
That's all to Test Case Design
Create test cases that are as simple as possible. They must be clear and concise as
the author of the test case may not execute them.
Use assertive language like go to the home page, enter data, click on this and so on.
This makes the understanding the test steps easy and tests execution faster.
The ultimate goal of any software project is to create test cases that meet customer
requirements and is easy to use and operate. A tester must create test cases keeping
in mind the end user perspective
3. Avoid test case repetition.
Do not repeat test cases. If a test case is needed for executing some other test case,
call the test case by its test case id in the pre-condition column
4. Do not Assume
Make sure you write test cases to check all software requirements mentioned in the
specification document. Use Traceability Matrix to ensure no functions/conditions
is left untested.
Name the test case id such that they are identified easily while tracking defects or
identifying a software requirement at a later stage.
It's not possible to check every possible condition in your software application.
Software Testing techniques help you select a few test cases with the maximum
possibility of finding a defect.
• Boundary Value Analysis (BVA): As the name suggests it's the technique
that defines the testing of boundaries for a specified range of values.
• Equivalence Partition (EP): This technique partitions the range into equal
parts/groups that tend to have the same behavior.
• State Transition Technique: This method is used when software behavior
changes from one state to another following particular action.
• Error Guessing Technique: This is guessing/anticipating the error that may
arise while doing manual testing. This is not a formal method and takes
advantages of a tester's experience with the application
8. Self-cleaning
The test case you create must return the Test Environment to the pre-test state and
should not render the test environment unusable. This is especially true for
configuration testing.
The test case should generate the same results every time no matter who tests it
After creating test cases, get them reviewed by your colleagues. Your peers can
uncover defects in your test case design, which you may easily miss.
Resources Required:
No. Test Test case Prerequisite Steps Input Expected Result Actual Re
Case - Objective data Result ma
ID rks/
Sta
tus
1 TC1 To add two Calculator is 1.Key in a valid 135 + 235(addition, above 235 Pass
integers and switched on integer from - 100 ten digits will be
display the 9999999999 to expressed in
result on +9999999999 exponential form)
ten-digit 2. Key in
calculator operator + 3. Key
in second
operand, a valid
integer from -
9999999999 To
+999999999
in second
operand, a valid
integer from -
9999999999 To
+999999999
Exercise:
Black box testing is a technique of software testing which examines the functionality of software without
peering into its internal structure or coding. The primary source of black box testing is a specification of
requirements that is stated by the customer.
In this method, tester selects a function and gives input value to examine its functionality and checks
whether the function is giving expected output or not. If the function produces correct output, then it is
passed in testing, otherwise failed. The test team reports the result to the development team and then tests the
next function. After completing testing of all functions if there are severe problems, then it is given back to
the development team for correction.
• The black box test is based on the specification of requirements, so it is examined in the beginning.
• In the second step, the tester creates a positive test scenario and an adverse test scenario by selecting valid
and invalid input values to check that the software is processing them correctly or incorrectly.
• In the third step, the tester develops various test cases such as decision table, all pairs test, equivalent
division, error estimation, cause-effect graph, etc.
• The fourth phase includes the execution of all test cases.
• In the fifth step, the tester compares the expected output against the actual output.
• In the sixth and final step, if there is any flaw in the software, then it is cured and tested again.
3. State the advantages and disadvantages for Black box testing.
Advantages
a) Tests are done from a user's point of view and will help in exposing discrepancies in the specifications.
b) Tester need not know programming languages or how the software has been implemented.
c) Tests can be conducted by a body independent from the developers, allowing for an objective perspective
and avoidance of developer-bias.
d) Test cases can be designed as soon as the specifications are complete.
Disadvantages
a) Only a small number of possible inputs can be tested and many program paths will be left untested.
b) Without clear specifications, test cases will be difficult to design.
c) Tests can be redundant if the software designer/ developer has already run a test case.
Conclusion: Thus, we successfully design and write test cases for simple calculator application