4 years of test interviewer, 3000-word APP test interview questions produced by staying up late for 1 day

1. Opening question: (free play)

1. Please introduce yourself;
2. Why did you leave the last company?
3. How long have you been testing? What projects have you done before? What was your previous testing process like? What testing tools have you used?
4. Why do you think software testing should be carried out in a team, and where is the value of testing?

2. Technical aspects:

1. Code ability:

1.1. Please use your favorite programming language to reverse and output a string?
Reference answer:
(1) python implementation:
method 1, use [::-1]:

s = 'python' 
print s[::-1]

Method 2. Use the reverse() method:

l = list(s) 
l.reverse()
print ''.join(l)

(2) Java implementation:
Method 1. Using StringBuffer, there is no trick at all:

public String reverse(String s){
    return new StringBuffer(s).reverse().toString();
}

Method 2, flexible use of the string function:

public String reverse(String s){
    char[] letters=s.toCharArray();
    char temp;
    int len=letters.length;
    for(int i=len/2-1;i>=0;i--){
        temp=letters[i];
        letters[i]=letters[len-1-i];
        letters[len-1-i]=temp;
    }
    return new String(letters);
}

1.2. For dozens of Android application market channel packages, how to perform general functional verification and briefly describe the ideas?

Reference answer: You can automatically traverse all channel package apks under a certain directory, and then loop: install - "login - "** operation - "exit - uninstall
 

2. Test ideas:

2.1. Given a module, such as a registration module, how would you design and execute tests?

Reference answer: data - "where does it come from (entrance) - "where is it going (exit) - "database (check the correctness of the data)

2.2. Please tell us the standard that your previous company passed the functional test? (free play)

2.3. What test points do you think should be paid more attention to in the app testing process than the web? Or what is the difference between app testing and web testing?

Reference answers:
1. The paging processing technology of "click to load more", whether there is duplicate data, whether the data display is complete, and whether there is still data to display after reaching the last page;
2. The sorting method of the data;
2. The interface jumps 3. Whether
there is a prompt when there is an abnormal situation, whether to jump to the default page that has been set, such as when the network is disconnected, it shows that the network is not connected, the data loading fails, or if there is no data displayed on this page, the display is friendly Prompt information;
4. Whether the image processing place is prone to program crash, mainly due to the image compression mechanism;
5. The data displayed in the foreground is changed (added, deleted, modified) in the background, whether it is updated in real time or the app is running at the beginning Load it again;
6. The front desk actively sends out a request to see if there is corresponding data in the back-end database and also includes the relevance of the data (the merchant's member places an order, and when an order record is generated in the database, a point record is generated, the member 7. Key points
of mobile phone app network environment test: mainly for 2G, 3G, 4G, wifi three network environments;
8. Mobile phone app compatibility test: mainly for each system version of android Test, and test the screen resolution for testing;

3. Testing technology:

3.1. Tell me which packet capture tools will be used? How is it used?

Reference answer: For example, fiddler is mainly used for app capture. First, make various configurations on the fiddler client, set the port to 8888, and then set the proxy on the mobile phone to capture packets. The main thing is that the server returns It can also modify incoming parameters, outgoing parameters, simulate network delay, and construct different scenarios.

3.2. What is alpha testing and beta testing?

Alpha testing: employee-led testing at company sites; beta testing: customer-led testing at customer sites.

3.3. Please write a SQL to query all the top five 5 scorers?

mysql:

select * from 分数表 order by 分数 desc limit 5; 

oracle:

select top 5 * from 分数表 order by 分数 desc; 

3.4. What are the common commands of linux?

cd command: switch to a directory
ls command: list all files and folders
in the current directory pwd command: list the path of the current directory
cp command: copy
mv command: cut
grep command: pipeline
find command: find
rm command: Delete
ps command: view process
kill command: kill a process
cat command: view a file
tar command: package
chmod command: grant permissions
chown command: change the owner of a file
vim command: text editing

3.5. Please explain the difference between Android mobile phone and IOS mobile phone system?

1. The two operating mechanisms are different: IOS uses a sandbox operating mechanism, and Android uses a virtual machine operating mechanism.
2. The background systems of the two are different: no third-party program in IOS can run in the background; any program in Android can run in the background, and it will not be closed until there is no memory.
3. IOS has the highest authority for UI instructions, and Android has the highest authority for data processing instructions.

3.6. Please briefly introduce the four-layer architecture of the Android system?

From top to bottom, the order is: application layer - "application framework layer -" system runtime layer - "Linux core layer"

3.7. Briefly introduce the functions of several tools/commands in the Android SDK?

Reference answer:
ddms: Dalvik Debug Monitor Service, is the Dalvik [Virtual Machine] debug monitoring service in the Android development environment.
monkey: A command-line tool in Android that can run in an emulator or on a real device. It sends a pseudo-random stream of user events (such as key input, touch screen input, gesture input, etc.) to the system to stress test the application under development.
uiautomator: UIAutomator is a UI automation testing tool that comes with Eclipse, which can simulate operations such as clicking, sliding, and entering text on the APP.
monitor: Same as uiautomator
adb: The full name of ADB is Android Debug Bridge, which acts as a debugging bridge. Through ADB, we can debug Android programs through DDMS in Eclipse, which is the debug tool.

3.8. What are the commonly used adb commands? Please write a monkey script and explain the meaning of the parameters?

Reference answer:
(1), adb devices, adb install, adb uninstall, adb shell pm, adb shell am

(2)、adb shell monkey -p com.xiaoniu.finance -s 123 –throttle 500 –ignore-crashes –ignore-timeouts –ignore-security-exceptions -v -v -v 2000 > d:\xnonline-monkey-test1.txt

-p: app package name,
–throttle: interval time for each operation, in ms
–ignore-crashes: ignore crashes
–ignore-timeouts: ignore timeouts
–ignore-security-exceptions: ignore security exceptions
-v -v -v: Log detail level, 3 v represents the most detailed level log
d:\xnonline-monkey-test1.txt: represents the log to be generated, put it on the D drive of the local PC, and name it: xnonline-monkey-test1.txt

3.9. What will you do if the app crashes or ANR occurs during the test?

Reference answer: You can filter out the log first: adb logcat | findstr xxxxx (filter log information), and then search for the keywords in it, such as: exception, crash, to see which methods or exceptions caused the problem to be sent, and preliminary positioning After the cause of the problem is found, it can be handed over to the developer to find out the underlying cause and fix it.

3.10. Please tell us what kind of work you have done in your past work? Which part of the job is it best at (functionality, automation (UI and interface), performance)? How did you do this part? (free play)

3.11. Please briefly introduce some useful Android UI automation testing tools?

Reference answer:
appium: It is a mobile automation framework that can be used to test native applications, mobile web applications and hybrid applications, and is cross-platform.
robotium: It is a foreign Android automation testing framework, mainly for black-box automation testing of applications on the Android platform. It provides APIs that simulate various gesture operations (click, long press, slide, etc.), search and assertion mechanisms, and can Operate various controls.

3.12. What aspects do you think should be focused on in app performance testing, that is, special testing?

Reference answer: memory, cpu usage, power consumption, traffic, fluency, etc.

4. Technical enthusiasm: (inspect personal potential, free play)

4.1. Why did you choose to do the test?
4.2. What do you think the ideal testing process looks like?
4.3. How do you think you can improve your software testing skills?
4.4. Talk about the career development of software testing and personal future plans?

3. Beyond technology: (inspect soft power and play freely)

1. Communication skills;
2. Teamwork;
3. Execution;
4. Easy to get along with;

end


Finally, I would like to thank everyone who has read my article carefully. Watching the rise and attention of fans all the way, there is always a need for ritual exchanges. Although it is not a very valuable thing, if you can use it, you can take it directly.

These materials should be the most comprehensive and complete preparation warehouse for friends who do [software testing]. This warehouse has also accompanied me through the most difficult journey. I hope it can also help you! Everything should be done as early as possible, especially in the technology industry, and the technical foundation must be improved. I hope to be helpful…….

Guess you like

Origin blog.csdn.net/jiangjunsss/article/details/124212920