Ideas for app testing

Many Internet sites, such as shopping malls, travel, entertainment and other websites, have corresponding apps and small programs, etc., and the first point of app testing is to first pass all the functions in the requirements specification, and then conduct special tests for the characteristics of the app , After bug tracking management and regression testing, output a test report according to your own test results and send it to the corresponding person in charge.

1. App testing resources

  • Product Functional Requirements Document

  • Product Prototype

  • UI design renderings

  • Test device (ios, Android, etc.)

  • Test Plan

  • Test Scenario/Test Case

  • Preparation for special scenarios (such as payment function, you need to apply for Alipay, WeChat, UnionPay and other channel accounts in advance, such as product coupon function, you need to apply for the corresponding coupon first, etc.)

2. The focus of app testing -- UI testing

The first thing users see is the APP interface. If the interface is not well done, it will affect the first impression. No matter how good the function and performance are, the impression score will be discounted, so first of all, make sure that there is no problem with the UI.

Note when testing:

  1. Make sure that the prototype and renderings during the test are the latest version. In actual work, it may happen that the materials in hand for development and testing are not up-to-date, resulting in a waste of man-hours. Therefore, it is necessary to refresh and obtain the latest version every time you test.

  2. Ensure that the product UI conforms to the prototype and renderings made by the product manager. Some projects even have strict requirements on the UI to the pixel level, which is often not recognized by the naked eye, so various means are needed to assist, such as PS software, etc., but this needs to be based on actual requirements.

  3. All interface problems are subject to renderings. If there are suggestions on user experience, they must first be asked to the product manager in written or oral form. If improvements are needed, suggest bugs.

  4. Since the data in the test environment is simulated data, the data types that may appear in the formal environment must be considered in advance during the test. For example, if there is some data with a long length, how to design it, whether it will deform the page, etc.

3. The focus of app testing - functional testing

According to the software requirements specification, prototype diagram and thinking from the perspective of the user, verify whether the various functions of the App are implemented correctly. The App is often used in conjunction with the back-end management system on the web, so special attention needs to be paid to the linkage performance of the front-end and back-end.

In addition to the function points in the requirements specification, APP testing also has some features that need attention:

1. run

 1) The trial run after the software installation is complete, the software can be opened normally.

 2) App open test, whether there is a corresponding status prompt, or whether there is a loading status progress prompt.

 3) Whether the switching between App pages is smooth and the logic is correct.

2. Front and back switching of the application

 1) Switch the app to the background, and then return to the app to check whether it stays on the previous operation interface, whether the function and application status are normal.

 2) Switch to the background when the app has data updates, and then return to the foreground, pay attention to whether the program crashes and whether the function status is normal.

3) When using the APP, lock the screen of the mobile phone, then unlock it, and then enter the APP, pay attention to whether it will crash and whether the function status is normal.

4) Kill the APP process in the background, and open the APP again to see if it starts normally.

5) When the APP has the function of popping up the prompt window, switch to the background and then switch back to check whether the prompt box still exists. Sometimes there will be a defect that the application automatically skips the prompt box.

 6) For pages with data exchange, each page must be tested for switching between front and back, and locking the screen. This type of page is most likely to crash.

 3. Login free

  The APP application may provide a login-free function, and when the application is opened, it will automatically use the App as the user who logged in last time.

  1) Consider whether to enter the login-free state normally when there is no network.

  2) After switching the user login, it is necessary to verify whether the user login information and data content are updated accordingly to ensure that the original user logs out.

  3) According to the existing rules of Mtop, an account is only allowed to log in to one machine. Therefore, it is necessary to check the situation of logging in to multiple mobile phones with one account. The user in the original mobile phone needs to be logged out and a friendly prompt will be given.

  4) After the password is changed, whether to log out and log in again, or not to log out, but whether to verify the valid identity when there is data exchange.

  5) When performing data verification for applications that support automatic login, check whether the system can automatically log in successfully and the data operation is correct.

  6) After the user voluntarily logs out, the next time the app is started, it should stay on the login interface.

 4. Offline browsing

  Many APP applications will support offline browsing, that is, some data will be cached on the local client for users to view.

  1) Local data can be browsed under wireless network conditions.

  2) You can browse normally when you exit the App and open the App again.

  3) Switch to the background and then back to the foreground to browse normally.

  4) After locking the screen, unlock it and return to the application foreground to browse normally.

  5) When the data of the server segment is updated, it will give a corresponding offline prompt.

 5. App update

  1) When the client has a new version, there will be an update prompt.

  2) When the version is a non-mandatory upgrade version, the user can cancel the update, and the old version can be used normally. When the user starts the app next time, the update prompt will still appear.

  3) When the version is a mandatory upgrade, but the user does not update after the forced update is given, exit the client. The next time you start the app, the forced upgrade prompt still appears.

  4) When the client has a new version, without deleting the client locally, directly update and check whether it can be updated normally. Also check whether the version is the latest, and whether the uploaded files and pictures are new versions.

 6. Positioning and camera services

  1) When the app uses the camera and positioning services, you need to pay attention to the difference in the system version.

  2) Where the camera service is used, it is necessary to perform a switching test between the front and back to check whether the application is normal.

  3) When testing the camera service, it is necessary to use a real device for testing.

 7. Message push test

  1) Check whether the Push message is sent according to the specified business rules.

  2) When checking not to receive push messages, the user will no longer receive Push messages.

  3) If the user has set a do-not-disturb time period, check that the user cannot receive Push during the do-not-disturb time period. During the non-Do Not Disturb time period, the user can normally receive Push.

  4) When the Push message is aimed at the logged-in user, it is necessary to check whether the received Push matches the user's identity, and push other people's messages without error. Under normal circumstances, only the last logged-in user on the mobile phone will push the message.

  5) When testing Push, it is necessary to use a real device for testing.

4. The focus of app testing -- cross-event testing

Cross-testing, also known as event or conflict testing, refers to a test in which a function is being executed while another event or operation interferes with the process. For example: when the app is running in the foreground/background state, it can test the interaction with key applications such as incoming calls, file downloads, and music listening.

  Cross-event testing is very important and can uncover potential performance problems in many applications.

  1) Multiple apps are running at the same time, and switching back and forth between the front and back will affect normal functions.

  2) The impact of making/receiving calls, WeChat, QQ and other information prompts, answering or hanging up of video requests while the App is running.

  3) Whether sending/receiving text messages, emails, opening web pages, etc. while the app is running will affect it.

  4) The app uses Bluetooth to transmit/receive data when it is running.

  5) When the app is running, use the camera, calculator and other devices that come with the phone.

5. The focus of app testing--installation and uninstallation testing

Verify whether the software can be installed, run, uninstalled correctly, as well as the operation process and the usage of system resources before and after the operation.

 1. Install

  1) Whether the software can run normally after installation, and whether the folder and files after installation are written into the specified directory.

  2) Whether the combination of various options for software installation complies with the general design description.

  3) Whether the UI of the software installation wizard is consistent with the design.

  4) No redundant directory structure and files are generated after installation.

 2. Uninstall

  1) Test whether there is a prompt message for the system to directly uninstall the program.

  2) Test whether all files are deleted after uninstallation and all installation folders.

  3) Whether the uninstallation supports the cancel function, and the software uninstallation after clicking cancel.

  4) Whether the system directly uninstalls the UI consistent with the design.

PS: You need to pay attention to the situation of reinstalling after installation and uninstallation.

6. The focus of app testing - compatibility testing

1) Ensure that the software can be used normally on all compatible models; if the company provides compatibility cloud testing services, such as TestIn, TestBird, Elf Cloud Testing, etc., these platforms can be used according to the model required by the leader Compatibility testing; if it is a small business, it is basically which testing machines the company provides, and which ones are used to test compatibility without too much consideration.

2) If the company has a corresponding automated testing platform for APP compatibility testing, it is enough to test according to the leader and row.

3) Sometimes there will be feedback from production on some specific low-end mobile phone problems. If the resources in hand cannot be reproduced, or it is difficult to modify technically, or it cannot be improved in a short time due to scheduling reasons, it must be reported in writing. Report in the form and get confirmation from the technical platform supervisor, product manager and operation personnel.

7. The focus of app testing -- performance testing

The main performance points of concern:

  • Main page load time, response time for install, uninstall

  • Startup time (cold start, hot start)

  • Memory leaks, jitter, freeze, page rendering (FPS)

  • Stress test, under repeated/long-term operation, pay attention to whether the resource consumption (CPU, memory, traffic, power consumption) is normal, you can use Tencent's GT tool to monitor.

    • CPU: To test the usage of the CPU, it needs to be divided into different situations, such as the consumption when the mobile phone does not open other applications at all, and when the mobile phone runs some applications, then run the APP, and when the mobile phone itself is already under high load. The CPU consumed by different APPs is different.

    • You can use the adb command: adb shell dumpsys cpuinfo apk package name to check the CPU usage.

    • Memory: The running speed of the mobile phone has a lot to do with the memory. "Memory" refers to the running memory of the terminal system, which is used to temporarily store the computing data in the CPU and exchange data with external storage. Every click, refresh, page entry and exit, etc. in the APP will result in the use, release and consumption of memory. The running memory size of the terminal is fixed. If the APP uses a large amount of memory at one time or continues to occupy the memory without releasing it, it will inevitably have a direct or potential impact on the normal use of the APP.

    • Commands to view memory: adb shell dumpsys meminfo, adb shell meminfo PID

    • Traffic: Use the adb shell cat/proc/“+PID+”/net/dev command to view the traffic.

8. The focus of app testing -- security testing

1. Install and uninstall security test

  1) The app can be correctly installed on the device driver according to the specified path and display the correct icon.

  2) The app cannot be started automatically and needs to be set manually.

  3) When uninstalling, give corresponding prompts, including the files generated during the user's use, and need to prompt whether they are really deleted and whether the uninstallation is complete.

  4) Does uninstallation affect the functions of other software.

  5) It should be able to reinstall after uninstalling.

2. Data Security

  1) When passwords or other sensitive data are entered into the application, they are not displayed in clear text, cannot be decoded, and are not stored on the device.

  2) Passwords, credit card details or other sensitive data will not be stored in their pre-entered locations.

  3) Numbers such as mobile phone numbers and ID cards require some ciphertext.

  4) A second confirmation prompt should be given for deleting information.

  5) There are friendly prompts for various abnormal situations.

3. Communication Security

  1) When using the APP, if there is an incoming call, SMS, Bluetooth and other communication or charging, if there is a cross event with a higher priority, can the program be suspended and resume normal use after processing.

  2) The correct prompt will be given when the network is abnormal, and the app cannot be used after the network is disconnected.

Guess you like

Origin blog.csdn.net/shuirongwu/article/details/130592725