Testcase Design

Revanth Kumar Kolla - 26 Jun 2017

After building the Mobile Application, it's time to test the application's functionality and quality of the product. Mobile application testing is a process by which application software developed for handheld mobile devices is tested for its functionality, usability and consistency. Mobile application testing can be an automated or manual type of testing. Mobile Application testing makes helps to improve the quality of Mobile Apps.There are many types of Mobile Application testing. But here we are going to discuss two among them. Those are,

Black-Box Testing:

Black box testing is a software testing techniques in which functionality of the software under test (SUT) is tested without looking at the internal code structure, implementation details and knowledge of internal paths of the software. In BlackBox Testing we just focus on inputs and output of the software system.

The following are the functional requirements for the application which we performed the Black Box Testing:

Firstly, We assume that app is opened,

Requirement 1:-

As a User, I should be able to add a new transaction record.

Test Case 1: Select Transaction Type

Expect: New Transaction form should reflect the transaction type I selected

Steps:

Test Case 2: Form to enter transaction data

Expect: When I select new transaction type, a form should be opened to enter data

Steps:

Test Case 3: Data entered in form should be saved

Expect: When I click the save button, the data entered should be saved

Steps:

Requirement 2:

As a User,I like to have privacy to application. So I recommend to have password

Test Case 1: Select Manage PIN Lock in settings

Expect: A Popup must be seen on the screen to enter the pin.

Steps:

Test Case 2: Enter the PIN and save it for the privacy of the application

Expect: After entering the PIN in desired column, it must save.

Steps:

Test Case 3: The app must be open with the PIN only.

Expect : Now again open app, then it should ask for the PIN to enter into the app.

Steps:

Requirement 3:

As a User,I want icons in application so that i can identify my categories easily.

Test Case 1: While entering the transaction, the category should also be selected.

Expect: When selecting the category, there must be so many categories to choose.

Steps:

Test Case 2: Show the Transaction in the Homescreen with the category icon.

Expect: After saving the transaction, It will display with icon in the Home screen.

Steps:

Requirement 4:

As a User,I want the notes so that i can enter my expenses to which i have spent.

Test Case 1: While entering the transaction, we may enter the notes.

Expect: When selecting the category, we may enter short notes for the transaction. It is our choice but it's not compulsory to add

Steps:

Test Case 2: Show the Transaction in the Homescreen with the short notes.

Expect: After saving the transaction, It will display with short notes in the Home screen.

Steps:

Requirement 5:

As a User, I want the feature ‘Delete’ because sometimes i may enter my expenditure in wrong category.

Test Case 1:- Select the transaction on the Homescreen to ‘Delete’.

Expect: We should get a popup, to edit or delete the transaction.

Steps:

Test Case 2: Delete the transaction after choosing the ‘Delete’ option.

Expect: After choosing the Delete option, the transaction should not display in the Homescreen and balance must also be correct.

Steps:

White-Box Testing:

White Box Testing is the testing of a software solution's internal coding and infrastructure. It focuses primarily on strengthening security, the flow of inputs and outputs through the application, and improving design and usability. In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases.

The following are the functional requirements for the application which we performed the White Box Testing:

Requirement 1:

As a user,I want to categorize my expenses so I like to have Different categories to classify a customer, I want to categorize my expenses. So I like to have different categories to classify.

Test Case 1: createNewCategory

Expect: A new category is created in the database

Steps:

Test Case 2: removeOneCategory

Expect: A category is removed from the database

Steps:

Test Case 3: fetchOneCategory

Expect: A category is fetched if it matches with category name which is in database.

Steps:

Requirement 2:

As a User,I like to have privacy to application. So I recommend to have password.

Test Case 1: enablePinLock

Expect: User can enable a PIN lock for the application.

Steps:

Test Case 2: removePinLockIfValidPinEntered

Expect: Remove the PIN Lock if the entered PIN valid from the DataBase.

Steps:

Requirement 3:

As a User, I like to have small database to manage the app data

Test Case 1: createNewEntry

Expect: The entry must be created in the database.

Steps:

Test Case 2: delete

Expect: The specific entry can be removed from the database.

Steps:

Requirement 4:

As a User, I want to know payment method so that i can calculate the payments through different payment options.

Test Case 1: createNew

Expect: A payment type can be created in the database.

Steps:

Test Case 2: removeOne

Expect: The selected payment type can be removed from the database.

Steps:

Requirement 5:

As a User, I have handle the date and large numbers in application.

Test Case 1: UtilsTest.handleLargeNumbers_TILL_10_000

Explanation: If input is less than 10000, output is the input upto 2 decimal places

Test Case 2: UtilsTest.handleLargeNumbers_TILL_MILLION

Explanation: If input is less than million but more than 10000, then it'll show the input as k, for example, input => 25000, then it'll output "25 K".

Test Case 3: UtilsTest.getSHA1

Explanation: If input is a string, output is a byte array of sha1 encrypted hash.

Test Case 4: UtilsTest.getHumanDatE_from_calendar

Explanation: Takes a calendar object as input and output the date in this format "Day, Month Date, Year", e.g. input Calendar with date set as 26.06.2017, output will be "Mon, Jun 26, 2017".

Summary of Changes:

So far, we had meeting with the customer. The customer has mentioned few changes in the our app. That is,

THANKS FOR VISITING