Testing (Chapter 6)

  1. Testing.. 38

6.1 Structural Testing. 38

6.1.1 Screen Size Determine Test 38

6.1.2 Number of images check test 39

6.1.3 Long Click Test 39

6.1.4 Drag Event Test 39

6.2 Functional Testing. 40

6.2.1 Client Testing. 40

6.2.2 User Testing. 40

6.2.3 Alpha Testing. 42

6.2.4 Beta Testing. 43

6. Testing 

Software testing is the process of evaluating the functionality of a software or application in order to determine whether the developed software or application meets the specified requirements, identify defects in order for the product to be flawless and of quality, and meet user requirements. (GeeksforGeeks. 2020) 

There are many software testing methods and each method may be suitable for testing. The testing phase summarizes the usability of the application.

 

6.1 Structural Testing 

Structural testing is a type of software testing that is used to test the coding structure of software. The purpose of the testing process is to find out how the system works, not its functionality. Specifically, if an error message appears in an application, it could be because of it. Structural testing can be used to find and fix the problem. (Admin, S., 2016.) There are many activities in the program, so there was only a limited number of testing opportunities. 

There is no automatic test for the games, instead the results of the sub-processes have been monitored using the Log dialog procedure.

 

6.1.1 Screen Size Determine Test 

The application had to run on different mobile devices, so you had to specify the screen size to reduce the image size in scrolling view. Three sizes were distinguished normal, large and extra large. Pixel 2 API 28 mobile emulator is Normal screen size, Large API 28 mobile emulator is Large screen size and Nexus9 API 28 mobile emulator is Extra Large screen size. Which returned the correct value during testing. 

The results of the tests can be found in the appendix F of Fig.8, Fig.9, Fig.10.

 

6.1.2 Number of images check test 

Puzzle Game requires splitting the images and has three difficulty levels. The images were divided into four pieces on the first level, nine on the second level and 16 on the third level. 

Number of images check test can be found in the F appendix in Fig.11, Fig.12, Fig.13.

 

6.1.3 Long Click Test 

In games, you have to long-click on the images to grab the images for the game. They were tested several times for each game, which was a success. 

The result of the long click body can be found in Fig. 14 in the F appendix.

 

6.1.4 Drag Event Test 

Games need to capture images and move them to the right place. These processes are as follows: 

  • action drag started
  • action drop
  • action drag ended

These have been successfully tested several times for each game. 

The result of the drag event test is shown in Fig.15, Fig.16, Fig.17 F appendix.

 

6.1.5 Basket or Bin Test 

In Bad or Good, it is important to put healthy or unhealthy images in the basket or bin. They were tested 10 times in a row and worked flawlessly. 

Testing shows healthy food goes to a healthy place. 

Log.d("Healthy Place", v.getTag().toString());
Log.d("Healthy Food", iView.getTag().toString()); Unhealthy food, on the other hand, goes to the unhealthy place. Log.d("Unhealthy Place", v.getTag().toString());
Log.d("Unhealthy Food", iView.getTag().toString());  Images inserted in the wrong location will look like this during testing: Log.d("Else Place", v.getTag().toString());
Log.d("Else Food", iView.getTag().toString()); The test results are shown in Fig. 18, Fig. 19, Fig. 20 in the appendix F.

 

6.2 Functional Testing 

Testing a product prototype is very important to meet customer and user requirements and to filter out and correct any errors that may occur. The software developer is not the best person to test the product, as he sees the product differently than the user, so it is recommended that you test the product with other people.

 

6.2.1 Client Testing 

Testing with the client was on 22 / February / 2020 the prototype was tested on a OnePlus 3 mobile device. The application worked flawlessly on this device. The client was happy with it although he drew my attention to a few things and made suggestions to improve it. It was not clear on the start page which was the start button, the app did not include a back button, a Toast message is placed in the wrong place and interferes with the game and there are no three levels in Bad or Good and not just good scores in scoring. 

Subsequent testing was based on a screencast sent to the client for Coronavirus (COVID-19). Based on his feedback on 31/03/2020, there has been a definite improvement since the last meeting, but his only concern was the amount of words, especially in pop-up messages and alerts. 

The last test was performed on a screencast as in the previous test. Based on the feedback received on 3 / April / 2020, the customer was satisfied with the product and really liked that the words were replaced with the addition of sound.

 

6.2.2 User Testing 

Due to the emergence of Coronavirus (COVID-19) worldwide, it was not possible for potential users to test the application at the age of 3-5 years. In the UK, in order to prevent the spread of Coronavirus, all educational institutions have been closed and online learning has been ordered and an exit restriction has been introduced. Unfortunately, for these reasons, it was not possible for the Healthy Eating application to be embedded in ages 3-5 years or older. 

Testing the product for these reasons, my family members living with me in the same household tested the application. As for this case, it was limited to a total of four people, but it also provided some guidance on what could be improved.

Participants in the testing received the documents related to the testing and signed that they participated in the testing. OnePlus 3, OnePlus 5, and Xiaomi Mi Pad mobile devices were used for testing. The application on these devices worked flawlessly during the test. 

During the testing of the prototype, in the opinion of the participants in the testing the Main page did not cause any difficulty in use. The video included with the app helped me understand how the game works. They managed to play all four different games and reached the end of Level 3. 

The difficulty level scores for the following two tables are shown in Table.6, Table.7 per game: 

 

Card Game

Puzzle Game

Bad or Good Game

Memory Game

User 1

 

 

 

 

Level 1

Easy

Very

Easy

Easy

Level 2

Easy

Moderately difficult

Easy

Moderately difficult

Level 3

Moderately difficult

Difficult

Easy

Difficult

User 2

 

 

 

 

Level 1

Very easy

Very easy

Very easy

Very easy

Level 2

Very easy

Very easy

Very easy

Very easy

Level 3

Very easy

Very easy

Very easy

Very easy

User 3

 

 

 

 

Level 1

Easy

Very easy

Very easy

Very easy

Level 2

Easy

Very easy

Very easy

Very easy

Level 3

Easy

Very easy

Very easy

Very easy

User 4

 

 

 

 

Level 1

Easy

Very easy

Very easy

Easy

Level 2

Moderately difficult

Easy

Very easy

Easy

Level 3

Difficult

Moderately difficult

Very easy

Moderately difficult

Table.6 Difficulty level results. 

 

Card Game

Puzzle Game

Bad or Good Game

Memory Game

Level 1

25% Very easy

75%Easy

75% Very easy

25%Easy

75% Very easy

25%Easy

50% Very easy

50%Easy

 

Level 2

25% Very easy

50%Easy

25%Moderately difficult

50% Very easy

25% Easy

25%Moderately difficult

75% Very easy

25%Easy

50% Very easy

25%Easy

25%Moderately difficult

Level 3

25% Very easy

25% Easy

25%Moderately difficult

25% Difficult

50% Very easy

25% Easy

25%Moderately difficult

75% Very easy

25%Easy

50% Very easy

25%Difficult

25%Moderately difficult

Table.7 Difficulty level results in percentages.

The application was found to be very suitable by 75% and extremely suitable by 25% of the 3-5 year olds. No malfunctions were found during testing. 

On the other hand, in the case of games, it was complained that when moving the images, it was not possible to move them to the given field immediately and the lack of animation, which would make the game more enjoyable. 

The time it takes to capture images depends on two factors. The first in the setting is adjustable in three steps from the long click setting. 

The second is from the two-second pop up dialog confirming the previous operation because the background cannot be controlled while the dialog is displayed. 

Because usability testing was done by adults and their perception and reaction time is different from 3-5 year olds, it has not been proven that this will be a problem for kids either, if you can still suggest changing the factory settings of Android or ultimately it can be done in software.

 

6.2.3 Alpha Testing 

Alpha testing is performed on virtual devices prior to beta testing to identify bugs before the product is released to real users. 

Product testing was tested by creating three different virtual devices created and managed in Android Studio. The created devices are Large API 28 type with Google API28 operating system, 3.7 GB RAM, 1080 x 1920 resolution and x86_64 processor support. Nexus 9 API 28 type with Google API28 operating system, 3.9 GB RAM, 2048 x 1536 resolution and x86_64 processor support. Pixel 2 API 28 type with Google API28 operating system, 13 GB RAM, 1080 x 1920 resolution and x86_64 processor support. 

The results of the tests can be found in Table.1 Appendix F. 

The following Table.8 illustrates the virtual devices created: 

Name

Resolution

Size in inches

API

Target

CPU/ABI

Size on Disk

Large API 28

1080 x 1920 xhdpi

7.0

28

Android 9.0

(Google APIs)

x 86

3.7 GB

Nexus 9 API 28

2048 x 1536 xhdpi

8.86

28

Android 9.0

(Google APIs)

x 86

3.9 GB

Pixel 2 API 28

1080 x 1920 xxhdpi

5.0

28

Android 9.0

(Google APIs)

x 86

13 GB

Table.8 Created virtual devices. 

The application must run on different Mobile devices. Because the application is designed to work in both portrait and landscape positions, each page has been tested in portrait and landscape positions. 

The test was performed on Virtual and Real mobile devices. What is illustrated in the following Table.9: 

Virtual Mobile Devices

Name

Pixel 2

Pixel 2

Large API 28

Large API 28

Nexus 9

Nexus 9

Position

Portrait

Landscape

Portrait

Landscape

Portrait

Landscape

Start

Tested

Tested

Tested

Tested

Tested

Tested

Game

Tested

Tested

Tested

Tested

Tested

Tested

Card

Tested

Tested

Tested

Tested

Tested

Tested

Puzzle 1

Tested

Tested

Tested

Tested

Tested

Tested

Puzzle 2

Tested

Tested

Tested

Tested

Tested

Tested

Puzzle 3

Tested

Tested

Tested

Tested

Tested

Tested

Bad or Good

Tested

Tested

Tested

Tested

Tested

Tested

Memory

Tested

Tested

Tested

Tested

Tested

Tested

About

Tested

Tested

Tested

Tested

Tested

Tested

Video

Tested

Tested

Tested

Tested

Tested

Tested

Real Mobile Devices

Name

OnePlus 3

Xiaomi Mi Pad

Position

Portrait

Landscape

Portrait

Landscape

Start

Tested

Tested

Tested

Tested

Game

Tested

Tested

Tested

Tested

Card

Tested

Tested

Tested

Tested

Puzzle 1

Tested

Tested

Tested

Tested

Puzzle 2

Tested

Tested

Tested

Tested

Puzzle 3

Tested

Tested

Tested

Tested

Bad or Good

Tested

Tested

Tested

Tested

Memory

Tested

Tested

Tested

Tested

About

Tested

Tested

Tested

Tested

Video

Tested

Tested

Tested

Tested

                 

Tablet.9 Tests on Virtual and Real Mobile Devices.

 

6.2.4 Beta Testing 

Beta testing allows real users to use a product in a real environment with the goal of discovering any bugs or problems, so testers need to use the app in real situations. 

Product testing has been tested on OnePlus3, OnePlus5 and Xiaomi Mi Pad on mobile devices. The features of the product have been tested and no errors were detected during testing. 

The results of the tests can be found in Table.2 Appendix F.