You are on page 1of 17

BANGALORE INSTITUTE OF TECHNOLOGY

DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING

SOFTWARE TESTING ASSIGNMENT


AUTOMATING TESTING REST APIs USING
JMOCKITO

Under the guidance of


Mrs. Vedasree T K Submitted By
Assistant Professor Shashwat Umesh Singh
Dept. of ISE 1BI20IS086
BIT Bangalore Ujjwal Kumar Agrawal
1BI20IS114
SOFTWARE
TESTING
● Method to check whether the actual software
product matches expected requirements and
to ensure that the software product is defect
free.
● It involves the execution of software/system
components using manual or automated
tools to evaluate one or more properties of
interest.
● The purpose of software testing is to identify
errors, gaps, or missing requirements in
contrast to actual requirements.
Unit Testing with JUnit
What is Unit Testing?
 A procedure to validate individual
units of Source Code
 Example: A procedure, method or
class
 Validating each individual piece
reduces errors when integrating the
pieces together later
Automated Unit Tests with
JUnit

 Junit is a unit testing framework for


Java
 Allows you to write unit tests in Java
using a simple interface
 Automated testing enables running
and rerunning tests very easily and
quickly
An example unit test
@Test
public void testCellChangePropagates() { Spreadsheet
sheet =
new Spreadsheet();
sheet.put("A1", "5");
sheet.put("A2", "=A1");
sheet.put("A1", "10");
assertEquals("10",sheet.get("A2"));
}
Junit Assert
 During a test use Asserts to specify if the test passed or failed

 org.junit.Assert – allows you to test if certain ideas hold by asserting results:


http://junit.sourceforge.net/javadoc/

 assertEquals(expected, actual)
 assertEquals(message, expected, actual)
 assertEquals(expected, actual, delta)
 assertEquals(message, expected, actual, delta)
 assertFalse(condition)
 assertFalse(message, condition)
 Assert(Not)Null(object)
 Assert(Not)Null(message, object)
 Assert(Not)Same(expected, actual)
 Assert(Not)Same(message, expected, actual)
 assertTrue(condition)
 assertTrue(message, condition)
Junit Methods – Java annotations
 @BeforeClass // Run before all tests in class
 public static void setUpClass() throws Exception {}

 @AfterClass // Run after all tests in class


 public static void tearDownClass() throws Exception {}

 @Before // Run before each test in class


 public void setUp() {}

 @After // Run after each test in class


 public void tearDown() {}

 @Test
 public void testMain() {
 http://www.cavdar.net/2008/07/21/junit-4-in-60-seconds/
Junit with Netbeans
Note: If this option doesn’t exist use
New File->Other->Junit->Test for
1. New File existing class

2. Choose file type: Junit


3. Choose Test for Existing Class
4. Junit test with all stubs created for
that class
5. Fill in the individual tests
6. Run Tests (Netbeans options)
Junit Documentation/Tutorials
 http://junit.sourceforge.net/
 http://code.google.com/p/t2framework/wiki/JUnitQuickT
utorial

 http://junit.sourceforge.net/doc/testinfected/testing.htm
(older)
Lines of code coverage analysis

 Determining which lines of code


your tests have exercised and which
they have not
 Allows you to detect if your unit tests
(or system tests) are adequately
covering all possibilities or not
 This is just one way to test
Lines of code coverage analysis
with Netbeans
 Install Unit Test Code Coverage
Viewer module
 (See next slide for instructions)
 Write a Unit Test
 Run test and view highlighted code
Installing the Code Coverage
Plugin
 Go into Netbeans -> Tools -> Plugins
Search for "Code Coverage" and install it.

 If you don't see it in the list of available plugins, go to the "Settings"


tab and check "Netbeans Beta”, reload the catalog, and then try again.

 If you don't see Netbeans Beta in the list on Settings, add the
following source for plugins:

Netbeans Beta

http://updates.netbeans.org/netbeans/updates/6.8/uc/final/beta/
catalog.xml.gz
How do you you combine
coverage with traditional system
test scripts?
Traditional system testing uses scripts
- 1. Enter salary
- 2. Enter number of dependents
- 3. Click “Calculate Taxes” button
- …

To combine this with coverage, launch the GUI while


capturing coverage statistics
Run the test case to determine coverage
How to write test cases
 See sample system test case
 See sample unit test case
Junit Example
 Try to write unit tests for
/javacode/JUnitRobotExample
Summary
 Unit tests can help test the details of
your program
 Automated unit tests provide
constant visibility and easy retesting
 Test coverage supplies valuable
information when running both unit
tests and system tests

You might also like