Analysis of the most complete App function test points in history

1.2 Test cycle

The test cycle can be determined according to the development cycle of the project. The general test time is two to three weeks (that is, 15 working days).

According to the project situation and version quality, the test time can be shortened or extended appropriately. Confirm the project schedule with the supervisor before the formal test.

1.3 Test resources

Before the test task starts, check all test resources.

-- Product functional requirements document;

--Product prototype;

-- Product renderings;

--Behavioral statistical analysis definition document;

--Test device (ios3.1.3-ios5.0.1; Android1.6-Android4.0; Winphone7.1 and above);

--other.

1.4 Daily report and product launch report

1) Testers need to send test reports to the tested items every day.

2) The content of the test daily is as follows:

--Grade the quality of the current test version;

-- Give examples of more serious problems, prompting developers to give priority to modification;

--Assess the overall situation of the version.

3) Before the product goes online, the testers send the product go-live report.

4) The contents of the online report are:

--- Grading the quality of the current version;

---Attach the test report (functional test report, compatibility test report, performance test report and app usable performance standard summary

fruit);

--Summary of the basic situation of the online version. If there are remaining problems, the solutions must be listed and documented.

2.1 Security Test

2.1.1 Software permissions

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

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

3) Detect the input validity verification, authentication, authorization, sensitive data storage, data encryption, etc. of the App

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

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

6) Restrict/Allow apps to register autostart apps

7) Restrict or use local connections

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

9) Restrict/allow reading user data using mobile phones

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

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

2.1.2 Installation and uninstallation security

1) The application should be installed correctly on the device driver

2) Be able to find the corresponding icon of the application on the installation device driver

3) Whether to contain digital signature information

4) All managed attributes and their values ​​contained in the JAD file and JAR package must be correct

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

6) The installation path should be specified

7) Without the user's permission, the application cannot be preset to start automatically

8) Is it safe to uninstall, and whether all the files installed in it are uninstalled?

9) Whether there is a prompt to uninstall the files generated during the user's use

10) Whether the modified configuration information is restored

11) Does uninstallation affect the functions of other software?

12) Uninstall should remove all files

2.1.3 Data Security

1) When passwords or other sensitive data are entered into the app, they are not stored on the device, nor are passwords decoded

2) The entered password will not be displayed in plain text

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

4) The personal ID or password length of different applications must be at least 4 to 8 digits in length

5) When the application processes credit card details, or other sensitive data, do not write the data in plain text to other separate

file or temporary file. 6) To prevent abnormal termination of the application without removing its temporary files, the files may be attacked by intruders, and then read the data information.

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

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

verified

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

10) The application cannot ignore the user prompts or security warnings generated by the system or virtual machines, let alone

Before the warning is displayed, use the display of misleading information to deceive users, and the application should not simulate security warnings to mislead users

11) Before the data is deleted, the application should notify the user or the application provides a "cancel" command operation

12) The "cancel" command operation can realize its function according to the design requirements

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

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

15) Do not damage any content in the personal information management application without the user's explicit permissionΜ

16) The application reads and writes data correctly.

17) The application should have exception protection.

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

19) Be able to handle errors reasonably

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

2.1.4 Communication Security

1) In the process of running the software, if there is an incoming call, SMS, EMS, MMS, Bluetooth, infrared, etc. communication or charging, can the program be suspended, the communication will be prioritized, and the software can be resumed normally after the processing is completed, and the original program can be continued function of

2) When the connection is established, the application can handle the interruption of the network connection and then notify the user of the interruption of the connection

3) 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) Should be able to handle network exceptions and notify users of abnormal situations in a timely manner

6) When the application is closed or the network connection is no longer in use, it should be closed in time) disconnected

7) HTTP, HTTPS coverage test

--App and background services generally interact through HTTP, verify whether it is normal in the HTTP environment;

--In the public free network environment (such as: McDonald's, Starbucks, etc.), you must enter the user name and password, and pass SSL authentication

To access the network, it is necessary to capture the exception of the library using the HTTP Client.

2.1.5 Human-machine interface security

1) Back menu always remains available

2) Commands have a priority order

3) The setting of the sound does not affect the function of the application

4) The application must use the full screen size applicable to the target device to display the above content

5) The application must be able to handle unpredictable user operations, such as wrong operations and pressing multiple keys at the same time

2.2 Installation and uninstallation test

Verify that the App can be installed, run, and uninstalled correctly

2.2.1 Installation

1) The software runs on different operating systems (Palm OS, Symbian, Linux, Android, iOS, Black Berry OS 6.0,

Whether the installation is normal under Windows Phone 7).

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

3) Whether the combination of various options for software installation complies with the outline design instructions

4)) UI test of software installation wizard

5) Whether the software installation process can be canceled, after clicking cancel, whether the written files are processed as outlined in the design instructions

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

7) Whether there is 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) It is also necessary 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 uninstall whether there is a prompt message.

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

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

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

5) Whether the uninstallation supports the cancel function, and what happens when the software is uninstalled after clicking cancel.

6) The system directly uninstalls the UI test, whether there is an uninstall status progress bar prompt.

2.3 UI testing

Test whether the layout and style of user interface (such as menus, dialog boxes, windows and other regulatory controls) meet customer requirements, text

Whether it 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 will provide users with corresponding access or browsing functions through the functionality of the test object.

Make sure the user interface complies with company or industry standards. Including user-friendliness, humanity, and ease of operation tests.

2.3.1 Navigation Test

1) Buttons, dialog boxes, lists and windows, etc.; or need to navigate between different connection pages

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

3) Do you need a search engine?

4) Whether the navigation help is accurate and intuitive

5) Is the style of the navigation consistent with the page structure, menu, and connecting pages?

2.3.2 Graphics test

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

2) Adaptive interface design, the content is adaptive according to the window size

3) Whether the page label style is uniform

4) Whether the page is beautiful

5) The pictures on the page should have their practical significance and require the overall order and beauty

6) The picture quality should be high and the picture 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 Testing

1) Whether the content of the description text in the input box is consistent with the system function

2) Whether the text length is limited

3) Is the content of the text unclear?

4) Are there typos?

5) Whether the information is displayed in Chinese

6) Whether there are sensitive words and keywords

7) Whether there are sensitive pictures, such as: pictures involving copyright, patent, privacy, etc.

2.4 Functional test

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

1) Use time, location, object, behavior and background five elements or business analysis to analyze and refine the user usage of App

Scenarios, compare descriptions or requirements, sort out internal, external and non-functional requirements directly related, build test points, and clarify

For testing standards, if there is no clear standard to follow in user requirements, it is necessary to refer to industry or relevant international standards or guidelines.

2) According to the characteristics of the tested function points, list corresponding types of test cases to cover it, such as;

It should be covered by test types such as equivalence, boundary, negative, abnormal or illegal, scene rollback, and association testing.

3) Track the coverage of test implementation and requirement input at each stage of test implementation, and promptly correct business or requirement misunderstandings

error.

2.4.1 Running

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

2) Open the app to test whether there is a loading status progress prompt.

3) App opens the speed test to see if the speed is considerable.

4) Whether the switching between App pages is smooth and whether the logic is correct

5) Register

--Same as the form edit page

-- username password length

--Prompt page after registration

--Whether the front registration page and the background management page data are consistent

-- After registration, there will be a page prompt in the background management

6) Login

-- Log in to the system as a legitimate user.

--Whether the system allows multiple illegal logins, and whether there is a limit on the number of times.

--Whether it is correctly handled to log in to the system using an account that has already logged in.

--Whether it is correctly handled to log in to the system using a disabled account.

--Can you log in when the user name and password (password) are wrong or missing.

--The 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 in the page.

--Login timeout processing.

7) Logout

-- Cancel the original module, whether the new module system can handle it correctly.

-- Can terminate the logout and return to the original module and original user.

-- Log out the original user, and whether the new user system can handle it correctly.

--Using the wrong account, password, or 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 return to the app to check whether it stays on the previous operation interface.

2) Switch the APP to the background, and then return to the app to check whether the functions and application status are normal, and the versions of IOS4 and IOS5

Mechanisms are 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 function status is normal, especially for users from

When the background switches back to the foreground, the data is automatically updated.

4) Enter the app after unlocking the phone lock screen and pay attention to whether it will crash and whether the function status is normal, especially for switching from the background

Back to the foreground when the data is automatically updated.

5) When a call comes in during the use of the app and then switches to the app, is the function status normal?

6) After killing the app process, and then opening the app, can the app start normally.

7) After the prompt box that must be processed appears, switch to the background, then switch back, check whether the prompt box still exists, sometimes

There will be 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 type of page is most likely to crash.

2.4.3 Login-free

Many applications provide a login-free function. When the application is opened, it will automatically use the app as the user who logged in last time.

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

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

3) After switching 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.

4) According to the existing rules of MTOP, an account is only allowed to log in to one machine. So, need to check more than one account login

case of mobile phones. The user in the original mobile phone needs to be kicked out and a friendly reminder is given.

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

6) Switch to the background, and then switch back to the foreground test

7) After the password is changed, check whether the valid identity has been verified when there is data exchange

8) When an application that supports automatic login performs data exchange, check whether the system can automatically log in successfully and the data operation is valid.

error.

9) Check that after the user voluntarily 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 scheme based on 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 which places need to update data when switching from the background to the foreground.

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

4) Determine the processing logic of the data display part, whether it is requested from the server every time, or whether it is cached locally, so that there can be

Carry out appropriate tests.

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

2.4.5 Offline browsing

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

1) Local data can be browsed when there is no network

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

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

4) Unlock the screen after locking the screen and return to the application foreground to browse normally

5) When the data on the server is updated, a corresponding offline prompt will be given

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 launches the app

, the update prompt can still appear.

3) When the version is a mandatory upgrade version, when the user does not update after the forced update is given, exit the client. next startup

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.

5) When the client has a new version, if the client is not deleted locally, check whether the function of the updated client is

new version.

6) When there is a new version of the client, if the client is not deleted locally, check whether the file with the same name as the resource, such as a picture, can

Update 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) When the app uses the camera and positioning services, you need to pay attention to the difference in the system version

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

3) When the location service is not enabled, when the location service is used, a friendly pop-up will pop up whether to allow the setting of location prompts. when ok

When the positioning is enabled, it can automatically jump to the positioning settings to enable the positioning service.

4) When testing positioning and camera services, it is necessary to use a real device 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 8 District, so when the time set on the mobile phone is not the East 8 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 converted to the corresponding time zone of the client according to the server time to display, which provides a better user experience. For example, when a microblog is published, it is recorded on the server at 10:00. At this time, the Washington time is 22:00. When the client browses, if the Washington time is set, the displayed publishing time is 22:00. When the time is set back to East 8 District time, it will be displayed as 10:00 when checking again.

2.4.9 PUSH test

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

2) When the check does not accept push messages, the check user will no longer receive push.

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 non-Do Not Disturb time periods, users can receive push normally.

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 that the message of other people is not pushed over by mistake. 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.

2.5 Performance test

Evaluate the temporal and spatial characteristics of the app:

1) Limit test: Under various boundary pressure conditions, such as battery, storage, network speed, etc., verify whether the App can respond correctly.

--Install App when memory is full

--The phone is powered off 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.

--App installation and uninstallation response time

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

3) Stress test: Under repeated/long-term operation, whether the system resources are abnormally occupied.

--App is installed and uninstalled repeatedly 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 testing

A test method proposed for the service level division method and real-time characteristics of intelligent terminal applications. 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) Whether multiple apps running at the same time affect the normal function

2) Does the front/background switching affect normal functions when the app is running?

3) Make/receive calls while the app is running

4) Send/receive information when the App is running

5) Send/receive emails while the App is running

6) Switch network (2G, 3G, wifi) while the app is running

7) Browsing the Internet while the App is running

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

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

2.7 Compatibility testing

Mainly tests internal and external compatibility

1) Is it compatible with local and mainstream apps

2) Based on the difference between the development environment and the production environment, test under various network connections (WiFi, GSM, GPRS, EDGE, WCDMA,

CDMA1x, CDMA2000, HSPDA, etc.), whether the data and operation of the App are correct

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

--Compatibility of different operating systems, whether it is compatible

-- Compatibility with different phone screen resolutions

-- Compatibility with different mobile phone brands

2.8 Regression testing

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

2) Regression testing after bug fixes Regression testing of full use cases is required before delivery.

2.9 Upgrade and Update Test

After the new version is released, it will cooperate with the automatic update prompts in different network environments and the verification of download, installation, update, startup and operation

test.

1) Test whether the upgraded function is the same as the requirement description

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

3) Tests for upgrade installation accidents (such as crash, power failure, restart)

4) UI test of the upgrade interface

5) Upgrade test between different operating systems

2.10 User Experience Testing

Perceive the comfort, usefulness, ease of use, and friendliness of a product or service from the subjective perspective of ordinary consumers. pass

Different individuals, independent spaces and non-empirical statistical multiplexing methods to effectively evaluate the experience characteristics of products

Improve product potential customer satisfaction.

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

2) Whether to abuse user guidance.

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

4) Whether the menu hierarchy is too deep

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

6) Are related options far away

7) Whether to load too much data at one time

8) Whether the clickable range of buttons in the interface is moderate

9) Whether the tab page has no affiliation with the content, when the tab is switched, the content will switch accordingly

10) Operations should have primary and secondary affiliation

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

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

2.11 Hardware environment test

2.11.1 Gesture operation test

1) The impact of unlocking the mobile phone's lock screen on the running App

2) The impact of switching networks on running apps

3) The impact of switching between the front and back of the running App

4) Switching between multiple running apps

5) Shut down when the App is running

6) Restart the system when the App is running

7) Charging while the App is running

8) When the app is running, kill the process and open it again

2.11.2 Network environment

Mobile phone networks are currently divided into 2G, 3G, and wifi. The current 2G network is relatively slow, especially pay attention to this when testing

block test.

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

2) When testing on the internal network, attention should be paid to the handling of abnormal conditions when selecting to operate on the external network.

3) When the network signal is not good, check whether the function status is normal to ensure that no crash is caused by failure to submit data.

4) When the network signal is not good, check whether the data will always be submitted and whether there is a timeout limit. In case of data

Give a prompt when the exchange fails.

5) When the network signal is not good, after performing the operation, if the callback is not completed, exit this page or perform other

Operation status, whether there is any abnormality. This problem also often occurs program crash.

2.11.3 Tests when the server is down or 404, 502, etc.

If the background service involves DNS and space service providers, it will affect its stability. For example, when there is a domain name resolution failure,

Your request to the background API is likely to have a 404 error and throw an exception. At this time, the exception needs to be handled correctly

Otherwise, the program may not work properly.

2.12 Interface Test

The server generally provides data in JSON format to the client, so we need to perform interface testing on the server to ensure

The interface provided by the server and the converted JSON content are correct, and there are corresponding return values ​​for branches and exception streams. This block test can

To use itest framework for testing. The most convenient is to use httpclient for interface testing.

When performing server-side testing, it is necessary to develop and provide an interface document.

2.13 Client database test

1) General additions, deletions, changes, checks and tests.

2) Whether the table can be automatically created when it does not exist, whether the database table can be recreated after being deleted, and whether the data can be automatically retrieved from

Get it back from the server and save it.

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, check whether the app data can be automatically retrieved from the client when the client data exists

data, or will it still be fetched from the server side? Check whether the app data can be automatically transferred from the client when the client data does not exist

Obtained by the server and saved to the client

5) When the business modifies or deletes the data, whether there will be corresponding updates on the client and server.

Finally, I would like to thank everyone who has read my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, you can take it away if you need it:

insert image description here

Software testing interview applet

The software test question bank maxed out by millions of people! ! ! Who is who knows! ! ! The most comprehensive quiz mini program on the whole network, you can use your mobile phone to do the quizzes, on the subway or on the bus, roll it up!

The following interview question sections are covered:

1. Basic theory of software testing, 2. web, app, interface function testing, 3. network, 4. database, 5. linux

6. web, app, interface automation, 7. performance testing, 8. programming basics, 9. hr interview questions, 10. open test questions, 11. security testing, 12. computer basics

These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can help you too!

Guess you like

Origin blog.csdn.net/NHB456789/article/details/132511909