APP testing attention points!

1.1 Flowchart ​​​​​​​​1.2 Test cycle The test cycle can be determined according to the development cycle of the project. The general test time is two or three weeks (ie 15 working days), which can be appropriately shortened according to the project situation and version quality or extend the test time. Confirm the project schedule with the supervisor before the formal test. 1.3 Test resources Before starting a test task, check each test resource. --Product functional requirements document; --Product prototype diagram; --Product effect diagram; --Behavior statistical analysis definition document; --Test equipment (ios6.1.3-ios8.1; Android3.0-Android5.0) -- other. 1.4 Daily report and product launch report 1) Testers need to send a daily test report to the tested items every day. 2) The contents of the test daily report are: -- grading the quality of the current test version; -- giving examples of more serious problems, prompting developers to modify them first; -- evaluating the overall situation of the version. 3) Before the product is launched, the tester sends the product launch report. 4) The contents of the online report are: ---Classify the quality of the current version; ---Attach the test report (functional test report, compatibility test report, performance test report and the results of the available performance standard of the app); -- Summarize the basic situation of the online version. Any remaining issues must be listed and documented. 2 App test point 2.1 Security test 2.1.1 Software permission
























































1) Risk of deduction: including sending text messages, making calls, connecting to the Internet, etc.

2) Risk of privacy leakage: including accessing mobile phone information, accessing contact information, etc.

3) Input validity verification, authentication, authorization, and storage of sensitive data for the App , data encryption, etc.

4) Restrict/allow the use of mobile phone functions to access the Internet

5) Restrict/allow the use of mobile phone to send and receive information

6) Restrict/allow applications to register and automatically start applications

7) Restrict or use local connections

8 ) Restrict/Allow the use of mobile phones to take pictures or record

9) Restrict/Allow the use of mobile phones to read user data

10) Restrict/Allow the use of mobile phones to write user data

11) Detect App user authorization levels, data leakage, illegal authorized access, etc.



2.1.2 Installation and uninstallation security
1) The application should be correctly installed on the device driver

2) The corresponding icon of the application can be found on the installed device driver

3) Whether it contains digital signature information

4) JAD files and JAR packages contain All managed properties and their values ​​must be correct

5) The data content displayed by the JAD file should be consistent with the data content displayed by the application

6) The installation path should be able to be specified 7

) Without the permission of the user, the application cannot be preset to start automatically8

) Whether the uninstallation is safe, and whether all the installed files are uninstalled

. 9) Whether there is a prompt for the files generated during the uninstallation process.

10) Whether the modified configuration information is restored

. 11) Whether the uninstallation affects the functions of other software.

12) The uninstallation should be removed.



2.1.3 Data Security of All Documents
1) When entering a password or other sensitive data into the application, it will not be stored in the device, and

the password will not be decoded 2) The entered password will not be displayed in plaintext

3) Password, Credit card details, or other sensitive data will not be stored in the location where they are pre-entered

4) The length of the personal ID or password for different applications must be at least 6-12 digits long

5) When the application processes Credit card details, or other sensitive data, do not write the data in clear text to other separate files or temporary files.

6) Prevent the application from terminating abnormally without deleting its temporary files, the files may be attacked by intruders, and then read these data information.

7) When the sensitive data is input into the application, it will not be stored in the device

8) The backup should be encrypted, and the recovery of the data should take into account the abnormality of the recovery process, the interruption of communication, etc., and the data should be verified before use after recovery.

9) The application should consider the user prompts or security warnings generated by the system or virtual machine

10) The application cannot ignore the user prompts or security warnings generated by the system or the virtual machine, let alone display misleading information before the security warning is displayed. To deceive the user, the application should not simulate a security warning to mislead the user

11) Before data deletion, the application should notify the user or the application provides a "Cancel" command operation

12) The "Cancel" command operation can perform its function as designed

13) The application should be able to handle the situation when the application software is not allowed to connect to the personal information management

14) When reading or writing user information, the application will send an operation error message to the user

15) In the absence of the user's explicit Under the premise of permission not to damage any content in the personal information management application except the personal information management application M

16) The application reads and writes data correctly.

17) The application should have exception protection.

18) If the important data in the database is about to be rewritten, the user should be informed in time

19) The error can be reasonably handled

20) The user should be prompted in case of an accident



2.1.4 Communication security
1) In the process of running its software, If there is an incoming call, SMS, EMS, MMS, bluetooth, infrared and other communication or charging, can the program be suspended, the communication will be prioritized, and the software can be restored normally after the process is completed, and continue its original function

2) When creating a connection, The application can handle the situation where the network connection is interrupted, and then tell the user that the connection is interrupted

3) It should be able to handle communication delays or interruptions

4) The application will keep working until the communication times out, and then send an error message to the user indicating that there is a connection error

5) It should be able to handle network abnormalities and notify users of abnormal situations in

time , verify whether the HTTP environment is normal; --In public free network environments (such as McDonald's, Starbucks, etc.), you must enter the user name and password to access the network through SSL authentication, and you need to capture and process the library exception using HTTP Client. 2.1.5 Human Interface Security 1) The return menu is always available 2) Commands are prioritized 3) Sound settings do not affect the functionality of the application 4) The application must use the full screen size appropriate for the target device to display the above 5 ) The application must be able to handle unpredictable user actions, such as wrong actions and pressing multiple keys at the same time 2.2 Install, uninstall test
























Verify whether the App can be installed, run, uninstalled correctly, and the usage of system resources during the operation process and before and after the operation

2.2.1 Installation
1) The software is installed in different operating systems (Palm OS, Symbian, Linux, Android, iOS, BlackBerryOS 6.0, WindowsPhone 7) Check if the installation is normal.

2) Whether the software can run normally after installation, and whether the installed folders and files are written to the specified directory.

3) Whether the combination of software installation options conforms to the outline design instructions

4)) UI test of the software installation wizard

5) Whether the software installation process can be canceled, after clicking Cancel, whether the written files are processed according to the outline design instructions

6) Software installation process Whether the handling of unexpected situations meets the requirements (such as crash, restart, power failure)

7) Is there a corresponding prompt when the installation space is insufficient

8) No redundant directory structure and files are generated after installation

9) For installations that need to pass network verification , try it when the network is disconnected

10) You also need to test the installation manual to see if it can be installed smoothly according to the installation manual



2.2.2 Uninstall
1) Directly delete the installation folder to see if there is a prompt message for uninstallation.

2) Test whether the system directly uninstalls the program if there is a prompt message.

3) Test whether all files are deleted after uninstalling all installation folders.

4) Test for unexpected situations in the uninstallation process (such as crash, power failure, restart).

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

6) The system directly uninstalls the UI test, whether there is a progress bar prompt for the uninstallation status.



2.3 UI testing

Test whether the layout and style of the user interface (such as menus, dialog boxes, windows and other regulated controls) meet customer requirements, whether the text is correct, whether the page is beautiful, whether the combination of text and pictures is perfect, whether the operation is friendly, etc.

The goal of UI testing is to ensure that the user interface provides the appropriate access or browsing functionality for the user through the functionality of the test object. Make sure the user interface conforms to company or industry standards. Including user-friendliness, humanization, and ease of operation tests.

2.3.1 Navigation test
1) Buttons, dialogs, lists, windows, etc.; or need to navigate between different connected pages

2) Is it easy to navigate and is the navigation intuitive

3) Is a search engine needed

4) Is the navigation aid accurate and intuitive

5 ) Whether the style of navigation is consistent with page structure, menu and connection page



2.3.2 Graphical test
1) Horizontal comparison. The operation mode of each control is unified

2) Adaptive interface design, the content adapts according to the size of the window

3) Whether the page label style is unified

4) Whether the page is

beautiful

It should be high and the image size should be as small as possible if the design meets the requirements.

7) The overall color of the interface should not be too much



. 2.3.3 Content test
1) Whether the content of the input box description text is consistent with the system function

2) Whether the text length is limited 3) Whether the content of

the text is unclear

4) Whether there are typos

5) Whether the information is displayed in Chinese

6) Whether there are sensitive words and keywords







Verify the implementation of each function of the App according to the software description or user requirements, and use the following methods to implement and evaluate the functional testing process:

1) Use the five elements of time, place, object, behavior and background or business analysis to analyze and refine the user usage scenarios of the App , Compare instructions or requirements, sort out internal, external and non-functional requirements directly related, build test points, and clarify test standards. If there is no clear standard to follow in user requirements, you need to refer to industry or relevant international standards or guidelines.

2) List the corresponding types of test cases to cover them according to the characteristics of the tested function points, such as; where input is involved, test types such as equivalence, boundary, negative, abnormal or illegal, scenario rollback, and association testing need to be considered overwrite it.

3) Track the coverage of test implementation and requirement input at each stage of test implementation, and correct business or demand understanding errors in time.



2.4.1 Operation
1) After the software installation is completed, the software can be opened normally.

2) App opens to test, whether there is a progress prompt of loading status.

3) App opens the speed test to see if the speed is considerable. 4 ) Whether the switching between App pages

is smooth and the logic is correct After registration, the page prompts in the background management 6) Login - use a legitimate user to log in to the system. --Whether the system allows multiple illegal logins, and whether there is a limit on the number of times. --Whether logging in to the system with an already logged-in account is handled correctly. --Whether logging in to the system with a disabled account is handled correctly. --Can you log in when the user name, password (password) is wrong or missing. --Deleted or modified user, the original user logs in. --Do not enter the user password and user, repeat the point (OK or Cancel button) to allow login. --After logging in, the login information on the page. -- There is a logout button on the page. --Login timeout handling. 7) Logout











--Cancel the original module, whether the new module system can be handled correctly. --Can you return to the original module and the original user after terminating the logout. --Cancel the original user, whether the new user system can handle it correctly. --Use the wrong account, password, and disabled account without permission to log out



2.4.2 Switching between the front and back of the application
1) Switch the APP to the background, and then go back to the app to check whether it stays on the last operation interface.

2) Switch the APP to the background, and then go back to the app to check whether the function and application status are normal. The processing mechanism of IOS4 and IOS5 is different.

3) When the app switches to the background and then returns to the foreground, pay attention to whether the program crashes and whether the functional status is normal, especially when the data is automatically updated when switching from the background to the foreground.

4) After the mobile phone locks the screen and unlocks the screen, enter the app and pay attention to whether it will crash and whether the functional status is normal, especially when the data is automatically updated when switching from the background to the foreground.

5) When a phone call is interrupted during the use of the app, and then switch to the app, whether the function status is normal

6) After killing the app process, restart the app, whether the app starts normally.

7) After the prompt box that must be processed appears, switch to the background, and then switch back to check whether the prompt box still exists. Sometimes there is a defect that the application automatically skips the prompt box.

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



2.4.3 Login-free
Many apps provide a login-free function. When the app is opened, the user who logged in last time will automatically use the app.

1) When the app has a login-free function, the IOS version difference needs to be considered.

2) Consider whether you can enter the login-free state normally when there is no network.

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

4) According to the existing rules of MTOP, one account is only allowed to log in to one machine. Therefore, it is necessary to check the situation where one account is logged in to multiple phones. The user in the original mobile phone needs to be kicked out and a friendly prompt is given.

5) The app switches to the background, and then switches back to the foreground for verification

6) Switches to the background, and then switches back to the foreground for the test

7) ​​After the password is changed, check whether the valid identity verification has been carried out when there is data exchange

8) Support automatic login When exchanging data, check whether the system can automatically log in successfully and the data operation is correct.

9) Check that after the user actively logs out, the next time the app is started, it should stay on the login interface.



2.4.4 Data update Determine the optimal data update plan
according to the applied business rules and the amount of data update.

1) It is necessary to determine which places need to provide manual refresh, which places need automatic refresh, and which places need manual + automatic refresh.

2) Determine where data updates are required when switching from the background to the foreground.

3) According to the reasonable distribution of business, speed and traffic, determine which content needs to be updated in real time and which needs to be updated regularly.

4) Determine the processing logic of the data display part, whether it is requested from the server every time, or cached locally, so that the corresponding tests can be carried out in a targeted manner.

5) Check where there is data exchange, and have corresponding exception handling.



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

1) You can browse local data when there is no network

2) You can browse normally when you exit the app and then open the app

3) Switch to the background and then switch back to the foreground to browse

normally

5) When the data on the server is updated, it will give offline corresponding prompts.

2.4.6 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. The next time the user starts the app, the update prompt will still appear.

3) When the version is a mandatory upgrade version, when the user does not update after the mandatory 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 to check whether it can be updated normally.

5) When the client has a new version, without deleting the client locally, check whether the updated client function is a new version.

6) When there is a new version of the client, without deleting the client locally, check whether the file with the same name as the resource, such as the picture, can be updated to the latest version normally. If the above cannot be updated successfully, it is also a defect.



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

2) Where the positioning service and camera service are useful, you need to perform a switch test between the front and the background to check whether the application is normal.

3) When the location service is not turned on, using the location service, a friendly popup will pop up whether to allow the setting of the location prompt. When it is determined that enabling positioning is allowed, it can automatically jump to the positioning settings to enable positioning services.

4) When testing positioning and camera services, it is necessary to use a real machine for testing.



2.4.8 Time test The
client can set the time zone and time of the mobile phone by itself, so it is necessary to verify the impact of this setting on the app.

--China is the East 8th District, so when the time set on the mobile phone is not in the East 8th District, check the place where the time needs to be displayed, whether the time is displayed correctly, and whether the application function is normal. The time generally needs to be displayed according to the server time and then converted into the time zone corresponding to the client. This kind of user experience is better. For example, when a Weibo post is recorded on the server at 10:00, at this time, Washington time is 22:00. When the client browses, if the setting is Washington time, the displayed time of publication is 22:00. When the time is set back to the time of East Zone 8, it will be displayed as 10:00 when viewed again.



2.4.9PUSH test
1) Check whether the push message is sent according to the specified business rules

2) Check if the push message is not accepted, check that the user will not receive the push again.

3) If the user has set the time period of Do Not Disturb, check if the Do Not Disturb time period is set. During the time period, the user cannot receive PUSH.

During the non-do-not-disturb time period, the user can receive push normally.

4) When the push message is for the logged-in user, it is necessary to check whether the received push is consistent with the user's identity, and push other people's messages without error. Generally, only the last logged-in user on the mobile phone is pushed to the message.

5) When testing push, you need to use a real machine for testing.



2.5 Performance test

Evaluate the time and space characteristics of the app:

1) Limit test: Verify whether the app can respond correctly under various boundary pressure conditions, such as battery, storage, network speed, etc.

--Install the App when the memory is full

--Power off the phone when

running the App --Disconnect the network when running the App

2) Responsiveness test: Test whether various operations in the App meet the user's response time requirements.

--The response time of App installation and uninstallation

--The impact time of various functional operations of the App

3) Stress test: Whether the system resources are occupied abnormally under repeated/long-term operation.

--App repeatedly install and uninstall to check whether the system resources are normal

--Other functions are operated repeatedly to check whether the system resources are normal

4) Performance evaluation: evaluate the usage of system resources in typical user application scenarios.

5) Benchmark test (baseline test): Benchmarking with competing products, product evolution comparison test, etc.

2.6 Cross-event

test The test method proposed for the service level division and real-time characteristics of intelligent terminal applications. Cross-testing, also known as event or conflict testing, is a test in which a function is being executed while another event or operation interferes with the process. For example, the interaction test between the app and key applications such as incoming calls, file downloads, and music listening when the app is running in the front/background state, etc. Cross-event testing is very important and can uncover potential performance issues in many applications.

1) Does running multiple apps at the same time affect normal functions

2) Does front/background switching affect normal functions

when the app is running 3) Make/receive calls when

the app is running 4) Send/receive information

when the app is running 5) Send/receive when the app is running Mail

6) Switch network (2G, 3G, wifi)

when the app is running 7) Browse the network when the

app is running 8) Use Bluetooth to transmit/receive data

when the app is running 9) Use the camera, calculator and other mobile phone built-in devices when the app is running

2.7 compatible Test

Mainly test internal and external compatibility

1) Whether it is compatible with local and mainstream apps

2) Based on the difference between the development environment and the production environment, check whether the data and application of the App are correct under various network connections (WiFi, GSM, GPRS, EDGE, WCDMA, CDMA1x, CDMA2000, HSPDA, etc.)

3) It is compatible with various devices Whether it is compatible or not, if there is cross-system support, it is necessary to check whether the various behaviors are consistent under each system

  - the compatibility of different operating systems, whether it adapts

- the compatibility of different mobile phone screen resolutions - the compatibility

of different mobile phone brands Compatibility

2.8 Regression testing

1) Regression testing is required after bugs are fixed and the new version is released.

2) The regression test after the bug fix should be carried out before the delivery, and the regression test of the full number of use cases should be carried out.

2.9 Upgrade and update test After the

new version is released, it will cooperate with the automatic update prompts of different network environments and the verification test of downloading, installing, updating, starting and running.

1) Test whether the upgraded functions are the same as the requirements description

2) Test whether the functions of the modules related to the upgrade module are consistent with the requirements

3) Test for unexpected situations of upgrade and installation (such as crash, power failure, restart)

4) The UI of the upgrade interface Test

5) Upgrade test between different operating systems

2.10 User experience test Perceive the comfort, usefulness, ease of use, and friendliness of a product or service from the perspective

of subjective ordinary consumers. Effectively evaluate the experience characteristics of the product through statistical multiplexing of different individuals, independent spaces and non-experience, and propose amendments to improve the potential customer satisfaction of the product.

1) Whether there is an empty data interface design to guide users to perform operations.

2) Whether user guidance is abused.

3) Whether there is an unclickable effect, such as: your button is unavailable at this time, then it must be grayed out, or the button must be removed, otherwise it will mislead the user

4) Whether the menu level is too deep

5) Whether there are too many branches in the interactive process

6) Whether the related options are far away

7) Whether too much data is loaded at one time

8) Whether the button clickable range in the interface is moderate

9) Whether the tab page is not There is no affiliation with the content. When the label is switched, the content is switched along with it.

10) The operation should have a primary and secondary affiliation.

11) Whether to define the logic of Back. When software and hardware interaction is involved, the Back key should be specifically defined.

12) Whether there is a design for landscape mode, the application generally needs to support landscape mode, that is, adaptive design



2.11 Hardware environment test

2.11.1 Gesture operation test
1) The mobile phone unlocks the screen to run 2) The impact of

switching networks on running apps

3) The impact of switching between the front and the background of running apps

4) Switching of multiple running apps

5) Shut down when apps are running

6) Restart the system when apps are running

7) Charge when the App is running

8) Kill the process when the App is running, and then open the

2.11.2 network environment The network of the
mobile phone is currently mainly divided into 2G, 3G, and wifi. At present, the 2G network is relatively slow, so pay special attention to the test of this block when testing.

1) When there is no network, perform operations that require network, and give friendly prompts to ensure that the program does not crash.

2) When testing the internal network, pay attention to the exception handling when selecting the operation on the external network.

3) When the network signal is not good, check whether the functional status is normal to ensure that there is no crash due to the failure to submit data.

4) When the network signal is not good, check whether the data will always be in the state of being submitted and whether there is a timeout limit. In case of data exchange failure, a prompt should be given.

5) When the network signal is not good, after performing the operation, if the callback is not completed, exit the page or perform other operations, whether there is any abnormal situation. This problem also often occurs program crash.



2.11.3 Test in case of server downtime or 404, 502, etc.
Background service will affect its stability if DNS and space service providers are involved. A 404 error may occur and an exception will be thrown. At this time, the exception needs to be handled correctly, otherwise the program may not work properly.

2.12 Interface

testing The server generally provides data in JSON format to the client, so we need to perform interface testing on the server to ensure that the interface provided by the server and the converted JSON content are correct, and have corresponding return values ​​for branches and exception streams. This block test can be tested using the itest framework. The most convenient is to use httpclient for interface testing.

When performing server-side testing, an interface document needs to be developed and provided.



2.13 Client database test

1) General add, delete, modify, check test.

2) Whether the table can be automatically created when it does not exist, whether the database table can be created by itself after it is deleted, and whether the data can be automatically retrieved from the server and saved.

3) When the business needs to retrieve data from the server and save it to the client, can the client save the data locally.

4) When the business needs to fetch data from the client, when checking the existence of the client data, can the app data be automatically fetched from the client data, or will it still be fetched from the server? Check whether the app data can be automatically obtained from the server and saved to the client when the client data does not exist.

5) When the business modifies or deletes the data, whether the client and server will be updated accordingly.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326560833&siteId=291194637