My Profile Photo

ISEE - 2018 - Curry Wurst


Along with the lecture "Introduction to Software Engineering for Engineers" at Otto-von-Guericke University Magdeburg, our team "CurryWurst" will develop an "Activity Monitoring" app for Android operating systems. This blog will be regularly updated to keep you up to date about our progress. Have fun following our work ;)


Test Case Design

Welcome to the fifth and penultimate blog of team CurryWurst. In this blog we have discussed the details about the testing process implemented by us and also the different test cases for White-Box and Black-Box testing.

Testing Process

Testing is an integral part of any Software Development process. Testing helps the developers to identify bugs/defects and fix them. The different types of test methods are:

  • Unit Testing
  • Integration Testing
  • Functional Testing
  • System Testing
  • Acceptance Testing

Test methods can be further classified into

  • White-Box Testing: Testing performed with the knowledge of internal code.
  • Black-Box Testing: Testing performed without the knowledge of internal code.

Unit Testing: Each team member has tested and fixed all defects arising from their individual unit component. White-Box testing method was used for this testing. Example: Login Screen

Integration Testing: Each individual unit component was integrated with other unit components and tested. White-Box and Black-Box testing methods were used for this testing. Example: Enabling the PIN from Settings Screen and validating the user defined PIN in Login Screen.

Functional Testing: All the functional requirements provided by the user were tested. Black-Box testing method was used for this testing. Example: As a user, I want to log activities.

System Testing: The code was tested in different environments/systems. Black-Box testing method was used for this testing. Example: App tested on devices running Android Oreo and Android Nougat.

Acceptance Testing: The App was shown to the customer and tested for every requirement provided by him. Black-Box testing method was used for this testing.

All the bugs are logged into Zenhub for tracking the efforts involved in fixing them as shown below.

Zenhub_Bug_Board

White-Box Testing

White-Box Testing is a type of testing which involves test case design by knowing the internal logic.

The following classes were tested using White-Box Testing:

1. LoginActivity: Validate user credentials

LoginActivityLoginActivityFlow

Scenario 1:
set_pin entered_pin path(line numbers)
1234 1234 37, 40, 41, 42, 43
Scenario 2:
set_pin entered_pin path(line numbers)
1234 1111 37, 40, 44, 45, 46

2. LogActivity: Validate EndDateTime is not before StartDateTime

LogActivity

LogActivityFlow

Scenario 1:
convertedStartDate convertedEndDate path(line numbers)
2018-07-02 08:00 2018-07-02 08:30 233, 234, 235
Scenario 2:
convertedStartDate convertedEndDate path(line numbers)
2018-07-02 08:00 2018-07-02 07:30 233, 236, 237, 238

3. ReviewGraph: Load data into the Pie Chart

ReviewGraph

ReviewGraphFlow

Scenario 1:
category_names.size() path(line numbers)
2 353, 356, 357, 353, 356, 357, 353, 358
Scenario 2:
category_names.size() path(line numbers)
0 353, 358

4. DisplayActivity: Load the categories into category spinner

DisplayActivity

DisplayActivityFlow

Scenario 1:
called method path(line numbers)
loadSpinnerData() 166, 179, 181-200, 202

5. MainActivity: Navigate using Menu Drawer

MainActivity

MainActivityFlow

Scenario 1:
menuItem(clicked) path(line numbers)
Log Activity 118, 120, 121-122
Scenario 2:
menuItem(clicked) path(line numbers)
Review 118, 120, 123, 124-125

Black-Box Testing

Black-Box testing is a type of testing which involves test case design without knowing the internal logic.

As part of Black-Box Testing, along with each team member testing different functionalities, we asked two users to test 5 functionalities of the App.

The test cases for these 5 functionalities along with the result are displayed below:

black-box_testing

Summary of Changes

The following changes were made to the application:

  • Subcategories are added to the Categories page.
  • Quick add activity button added to home screen.

By systematically testing the app, it is improved with respect to security, functionality and performance.

That’s it for this time. Thank you for reading and stay tuned for our final blog!!