The most comprehensive test questions for software test engineers in 2023

Continuously updating loading...

What are the jmeter components

* There are 8 types of components that can be executed in jmeter (test plan and thread group do not belong to components), among which, sampler (sampler) is a component that does not interact with other components.

    * 1, Config Elements: configuration elements, such as CSV parameterization, http information header manager, cookie manager, http authorization manager, etc.

    * 2, Pre-porcessors: pre-processors, such as user parameters

    * 3, Timer: timer, including rendezvous, fixed timer, etc.

    * 4, sampler: sampler, such as http sampler, debug sampler sampler, etc.

    * 5, Post-porcessors: post-processors (such as json extractor, regular expression extractor, etc.)

    * 6, Assirtions (unless the return result obtained by Sampler is empty)----Assertion

    * 7, Listener (unless the return result obtained by Sampler is empty) --- listener

    * 8, logic controller: such as if controller, transaction controller, loop controller, etc.

    * The first 7 types of the above 8 types of listeners are executed in order from top to bottom.

Test Points for Sweepstakes

(Functional UI performance, security, ease of use, compatibility, performance and other aspects are considered)

UI:
homepage banner
event page (display the remaining number of draws, one less draw, refresh immediately)
get lucky draw opportunity page after payment (turntable, marquee)

Activity time:
the time is not up, can you see the event page, if you can see it, click on the lottery draw, it should prompt that the time is not up, and you can't get the chance to win the lottery by submitting an order

Entrance to get the number of lucky draws:
Order type
1. Normal
2. Full discount
3. Coupon
4. Full discount + coupon
5. First order
6. Opportunity given as much as satisfied
7. Points + amount
8. Recommend friends to place an order

The limit on the number of lucky draws:
how many times the same userId can get at most per day (requirement)

Prize distribution:
Virtual directly sent to the account. (Records, notifications)
entities, you need to pop up a box to prompt (order records, logistics records, and even databases are fine, depending on the requirements, at least the data must be available)

Compatibility:
compatible with various browsers and mobile phones

Performance:
At the same time, large concurrent lottery draws, whether the server can respond in time

Security:
The session expires, click on the lottery,
not logged in, enter the activity page


Probability:
normal: the set probability is not 100%, then click manually to ensure that it is not 100%, and then ask the development assistant to set it to 100%, and manually test every test to ensure 100% winning is OK.
Interface: jmeter, large concurrency (3000 times)
to calculate the actual winning probability = winning times / total number of lottery draws

Adding activities in the background: (management functions, the basic requirement is to ensure the normal use of the functions)
Activity title:
Activity type:
Activity awards:
Start and end time:
Probability:

The difference between app and PC testing

From the perspective of functional testing alone, there is no difference between APP testing and web testing in terms of process and functional testing. The same
points:
1. The same test case design method;
2. The same test method: check the UI according to the prototype or rendering; 3. Test the speed
of page loading and page turning, login time, memory overflow, etc.; The app project, with a c/s structure, must have a client; if the app modifies the server, all core versions of the client user need to undergo a regression test. 2⃣️In terms of performance, web projects need to monitor response time, CPU, and Memory; in addition to monitoring response time, CPU, and Memory, app projects also need to monitor traffic, power, etc.; 3⃣️In terms of compatibility , web projects: browsers (Firefox, Google, IE, etc.); operating systems (Windows7, Windows10, Linux, etc.). App project: Device system: iOS (ipad, iphone), Android (Samsung, Huawei, Lenovo, etc.), Windows (Win7, Win8), OSX (Mac); mobile phone devices can vary according to phone models, resolutions, and screen sizes. 4⃣️Compared to Web projects, APP has special tests 1) Interference test: interruption, incoming call, text message, shutdown, restart, etc. 2) Weak network test (simulation of 2g, 3g, 4g, 5g, wifi network status and packet loss); network switching test (reconnection after network disconnection, switching from 3g to 4g, 5g/wifi, etc.).














3) Install, update, uninstall, interrupt, switch between front and back.
Installation: Interruption during installation, weak network, deletion of installation files after installation, new installation, upgrade installation, third-party tool installation, etc. need to be considered; Uninstallation: Third-party tool uninstallation, direct uninstallation, whether to delete app-related
files after loading should be considered; Update: divided into
mandatory update, non-mandatory update, incremental package update, resuming upload, update in weak network status;
switch
.
5) Permission test: Set whether an app can obtain the permission, such as whether it can access the address book, photo album, camera, etc.

Key points of APP testing

  1. function test
  2. compatibility test 
  3. Install, uninstall, upgrade test
  4. interference test
  5. PUSH test
  6. User Experience Testing
  7. stability test

9.1 Functional testing

explicit demand

Verify the realization of each function of the APP according to the design documents and requirements documents

Implicit requirements: Functional requirements that are not clearly defined in the requirements specification,

Hidden needs

Related business: business affected by function

Other angles: branching process, retrograde thinking, abnormal operation

Complementary streamlining: testing experience

(requirements document as follows)

  1. When posting a topic: add a title, add content, add a picture,

  2. Title requirements: the title cannot exceed 30 characters

  3. Content requirements: the content should not be less than 4 characters and not more than 500 characters

  4. The picture cannot exceed 10M

10. Compatibility testing

Focus: view: mainstream models https://tongji.baidu.com/research/app

Cloud test platform: https://www.testin.cn/realmachine/index.htm

  ● Phone model 

Covering mainstream models in the market:

App online user model ranking

  ● System version

Android system 

4.4 ,5.1,6.0,7.0,10.0

ios system

9.x, 10.x.11.x.12.x 14.x

  ● screen size, resolution

resolution 

1080x1920,720x1280

screen size

5.5,4.7,6.2

  ● network

2G,3G,4G,wifi

  ● App Compatibility

Compatible with the phone's hardware

home button, power button, volume adjustment

Compatible with external hardware devices

Headphones, Bluetooth, etc.

Compatible with other apps

When music is playing in the background, enter the dynamic page and click to play the dynamic video. How does the system handle it? 

Compatible with mobile operating system software 

wlan settings

11. Install, uninstall and upgrade test 

The APP client needs to be installed, uninstalled and upgraded

  ● Installation and testing concerns

normal scene

  1. Install on a different OS version

  2. Install from different installation channels (APP application store, mobile assistant, directly download apk package or ipa package)

Abnormal scene 

  1. Can the installation be continued after an exception occurs during installation (shutdown, disconnection)?

  2. Insufficient storage space during installation 

  3. Cancel and install again after installation

  4. Runtime overwrite install

  5. The lower version overwrites and installs the higher version

  6. Install after uninstall

  ● Offload testing concerns

  1. Normal uninstallation (manual uninstallation, tool uninstallation)

  2. Uninstall at runtime

  3. Cancel uninstall

  4. Abnormal interruption of uninstallation

  5. Invalid data remains after uninstall

  ● Upgrade testing concerns

  1. Upgrading from a nearby version

  2. Cross-version upgrade

  3. Upgrade through different channels (app store, mobile assistant)

  4. The upgrade reminder is successful (can not be reminded, can be reminded, forced to upgrade)

  5. Non-wifi reminder during in-app upgrade

  6. Automatic upgrade (upgrade automatically when a new version is detected)

After the upgrade: Whether the data before the upgrade and the data after the upgrade are confused

12. Interference test

Cross test is also called "conflict test" or "interference test"

It refers to the test that another event or operation interferes with the process of a function during execution, for example: answering calls or downloading files while the APP is running in the foreground/background.

  ● Cross-event testing concerns:

All scenarios that may affect the normal operation of the APP 

  1. Answer and make calls when the APP is running

  2. Send and receive information when the APP is running

  3. Check the application push when the APP is running

  4. Connect the Bluetooth device when the APP is running

  5. APP and runtime receive file pop-up reminders

  6. Rotate the screen during APP and runtime

  7. Switch network (4G, WIFI) when APP is running

  8. Use the camera, calculator and other mobile phone built-in applications when the APP is running

  9. Battery warning when APP is running, plug and unplug the charger

Interactivity: One APP uses the functions of another app, for example: a product of Xianyu on Taobao, jump to the Xianyu app on a single machine

13. Push message test

The reason why APP uses push message

Message push scene

Product perspective: functional requirements such as: news push for news products, advertisement push for tool products, etc.

Operational perspective: event operation needs. Such as: promotional activities of e-commerce products, recalling users to increase activity

Message push principle:

  ● The pull client actively obtains

The client actively obtains information from the server at a fixed time, and if there is updated information, it is sent to the client

short link

  ● The push client passively accepts

When the server has updated information, actively send it to the client

Long connection

the difference:

push is better than pull

The push method saves resources more than the pull method 

The reason for the resource cost of pull: the client needs to constantly detect the changes of the server, which consumes more client resources, cpu, network traffic, and system power.

push push map

1. Build your own push server 

Advantages: good function, good performance

Disadvantages: high cost

2. Call the third-party push platform

Mobile phone manufacturers: Xiaomi Push, Huawei Push

Third-party platforms: Youmeng Push, Jiguang Push, Yunba,

BAT big factory push: Alibaba cloud mobile push, Tencent carrier pigeon push, Baidu cloud push 

push push settings

For different user groups: all users, some users, specific users 

Mobile terminal settings:

Block push, whether to accept notification

Concerns about push testing

  1. Whether the push message is sent according to the specified business rules

  2. When the push message is for a specific user, will the user receive the push message

  3. If the push message is blocked, will the user receive it?

  4. After receiving the Push message, can it be opened normally?

  5. When the APP is used in the foreground, how to prompt when receiving a push message

  6. When the APP is used in the background, how to prompt the Push message

  7. If the APP is offline, can you receive push messages?

15. User experience testing

focus point

  ● UI testing

Check each page, window, layout, style, etc. against the UI design document

Note: picture, button (selected effect, unselected effect), font size, color, center alignment

  ● Usability testing

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

Is the menu hierarchy too deep?

Are there too many branches in the interactive process?

Whether the layout of the interface buttons is appropriate, and whether the click range is moderate

Software and hardware interaction: back, home 

  ● Landscape and portrait

Is it normal to switch between horizontal and vertical screens on all pages of the app?

If there is a form, you should pay more attention to it

  ● Other assistance for mobile applications

Enlarging fonts, language switching, multi-touch and other functions

The difference between iOS and Android

1. Android long press the home button to call out the application list and switch applications, and then slide right to terminate the application;

2. Multi-resolution test, more than 20 kinds of Android, less ios;

3. There are many mobile phone operating systems, Android, less ios and cannot be downgraded, only one-way upgrade; the resource library in the new ios system is not fully compatible with the applications in the lower version of the ios system, and the application in the lower version of the ios system calls the new resource library, which will directly lead to a crash (Crash);

4. Operating habits: Android, whether the Back button has been rewritten, test whether the feedback after clicking the Back button is correct; whether the application data can run normally after being moved from the internal memory to the SD card, etc.;

5. Push test: Android: click the home button, when the program is running in the background, receive a push at this time, wake up the application after clicking, whether it can jump correctly at this time; ios, click the home button to close the program and lock the screen (red dot display);

6. Installation and uninstallation testing: There are many platforms, tools and channels for downloading and installing Android, while iOS mainly includes app store, iTunes and testflight downloads;

7. Upgrade test: Necessary conditions for being upgraded: the old and new versions have the same signature; the old and new versions have the same package name; there is an identifier to distinguish the old and new versions (such as the version number). For Android, if there is a built-in application, check whether the built-in files match after the upgrade (such as the built-in input method)

In addition: There are a few more points to note for testing:

1. Concurrency (interruption) test: Alarm pop-up prompts, start of another application, playback of video and audio, incoming call, user input, etc., while playing voice, recording, etc., force other playbacks to pause;

2. Data source testing: input, selection, copy, voice input, installation of different input methods, etc.;

3. Push (push) test: when the push is performed in the power-on/standby state, the message will die first and the correctness of the push jump; whether the push display and jump are correct when the application is under development, not opened, started and running in the background; whether the number changes before and after reading the push message are correct;

4. Share and jump: whether the copy after sharing is correct; whether the jump after sharing is correct, and whether the source of the message displayed is correct;

5. Touch screen test: touch different positions or perform different operations at the same time, check the processing status of the client, whether it will crash, etc.

black box testing method

(1) Equivalence class division method

Equivalence class partitioning is a typical and important black-box testing method, which divides all possible input data of a program into several equivalence classes. Then select representative data from each part as test cases. Test cases are composed of representative data of valid equivalence classes and invalid equivalence classes, thus ensuring the completeness and representativeness of test cases. There are two main steps in designing test cases using this method: (1) determining equivalence classes; (2) generating test cases.

(2) Boundary value analysis method

Boundary value analysis is a black box testing method for testing the boundary value of program input or output. The actual test work proves that the test cases that consider the boundary conditions have a higher test rate of return than those that do not consider the boundary conditions. The boundary conditions mentioned here refer to those states in the input and input equivalence classes that are just at the boundary, or exceed the boundary, or are below the boundary.

(3) Cause and Effect Diagram

The cause-and-effect diagram method is also a commonly used black-box testing method, which is a simplified logic diagram. The causal diagram can intuitively show the causal relationship between input conditions and output actions, and can help testers focus on the input combinations related to program functions. The cause-and-effect diagram method is a test method suitable for describing combinations of various input conditions. According to the combination of input conditions, the constraint relationship and the causal relationship of output conditions, various combinations of input conditions are analyzed to design test cases. It is suitable for checking various combinations of program input conditions

(4) Error guessing method

The error guessing method is based on past experience and intuition, referring to past errors in software systems, speculating on possible defects and errors in the current program under test, and designing test cases in a targeted manner.

The basic idea of ​​designing test cases with error guessing method is to enumerate a list of possible errors or special situations that are prone to errors in the program, and then write specific test cases according to the list and the designed test cases. For example, if the input data in the program is "0" or the character is empty, it is an error-prone situation; where the number of input or output is indefinite, the quantity is "none" and "one" is also an error-prone situation. What needs special attention is that when reading the specification, the assumptions that the programmer may make are used to determine the test cases. The tester should consider the input information from the perspective of the user, regardless of whether the information is reasonable or unreasonable input for the program under test. [2]

Guess you like

Origin blog.csdn.net/qq_45088552/article/details/126119978