A text summary of software test engineer before the interview Bibei face questions (Update)

A software testing basic theoretical questions

  • Common test methods are there?
1 is divided into an internal configuration of interest from the point of view whether: white box, a black box, gray-box 
    black box testing procedures do not consider the internal structure and logical structure, the main function of the test system is used meets the requirements specification. Generally there will be an input value, enter a value, and expectations for comparison. 
    White box unit mainly used in testing phase, mainly to test the code level, the internal logical structure of the program for the test methods are: statement coverage, decision coverage, condition coverage, path coverage, condition combination coverage 
    gray box is a comprehensive test method, black box and white box will together, is based on the external and the performance of the program is running in conjunction with the internal logic structure design cases, and the execution program and execution information acquisition path test results users external interface technologies. 
2 is divided into the code is executed from the point of view: the static test and dynamic testing 
   static tests: that is not running the program under test itself to check the correctness of the program only by checking the source program analysis or syntax, structure, process, and other interfaces. 
   Dynamic test: is the difference by running the program under test, check the operating results with the expected results, and analyze the efficiency, accuracy and robustness and other performance indicators. 
3 into the look-level development process: unit testing, integration testing, system testing and acceptance testing. 
   Minimum particle size testing unit, typically by the development team to use whitebox test, whether the main test unit "Design." 
   Integration testing boundary between the unit and system testing, act as a "bridge", typically by the development team uses the white box with black box approach to testing, both to verify the "design", and verify the "demand." 
   The maximum particle size of the test system, typically by an independent test panel using a black box approach to testing, the main test system meets the "requirements specifications." Specific types of system test types are: functional testing, performance testing, interface testing, security testing, compatibility testing
   Acceptance testing and system testing is similar, the main difference is the testers, the acceptance test performed by the user.
View Code
  •  Test case design method (may be combined with specific questions allows you to use the method to design test cases) What?
Equivalence partitioning, Boundary value analysis, decision table, orthogonal experiment, error guessing, cause and effect diagrams, scene method 
common test case design problem: how to give you a lift design test cases, design test cases for a pen , design test cases for the calculator on your phone, giving you a paper cup how how design test cases, test cases designed to pay as much for the US Mission
View Code
  •  What to talk about the similarities and differences between web and app testing testing have?
Same: 
Web app test and test from the process, there is no difference. Need to go through the test plan program, case design, test execution, defect management, test reports and other related activities. Technically, web app testing and test its test types are also similar, need to be functional testing, performance testing, security testing, GUI testing and other types of tests. 
Different: 
Their main difference is in the details and specific test methods are different, such as: performance testing, web testing only need to test the response time of the elements in the app tests also need to consider the flow test and power consumption test. 
Compatibility test: the end is compatible WEB browser, App end mobile devices are compatible. And corresponding compatibility testing tools are not the same, web browser compatible because it is a test, so it is necessary to use a different browser compatibility testing (commonly compatible with IE, Chrome, Firefox, 360 , Edge, Safari, search dogs) If the mobile phone side, we need to be compatible with different brands, different resolutions, different versions of android even compatible with different operating systems. (Compatibility mode is compatible with the common market before the occupancy rate of mobile phones to the N-bit), and sometimes can also be used to test compatibility kits, but WEB compatibility tools multi IETester and other tools, and app compatibility test will use this Testin commercial tools can also do the test. 
Installation and testing: web testing virtually no client installation level test, but the test is the presence of the client app-level installation and testing, then have the relevant test points. 
There, app-based mobile phone test special test equipment, and some mobile devices. Such as cross event testing, operation type testing, network testing (weak network testing, network switching) 
crossing event test: that is, when the operation of a software to phone, text messages, low battery tips and other external events. 
Operation Type Test: The horizontal screen test, sign test
Network Test: contains a weak network switching network and testing. Need to test the network caused by weak user experience, the focus should be rolled back and consider whether it will cause secondary refresh submitted. Weak analog network is said to be achieved by setting 360wifi. 
From the system architecture level, web testing as long as the update server, the client will sync updated. And the client is guaranteed exactly the same for each user's client. But APP end is not able to guarantee exactly the same, unless the user to update the client. If the server is to modify the next app, means that the core version of the client used by the user requires regression testing again. 
There upgrade testing: test the upgrade mechanism reminder, whether to cancel the upgrade will affect the use of the original function, after the upgrade user data has been cleared.
View Code
  •  Interface how the test?
Interface Test points:
 1 business functions are achieved, including normal, abnormal scene whether to implement. 
   Normally includes a single parameter, parameter combinations, mandatory parameters, optional parameters are input in the interface document the range 
   abnormality scene comprises less pass, multi-pass, do not pass the parameters specified in the interface document, repeating submission, submission complicated, multi-machine environment , a large amount of test data
 2 check the interface returned data is consistent with the expected results. 
    When such a successful new business code whether to return 00, when the new user already exists if the return code 02, error code when passed parameter types, whether to return 03, and the document comparison interfaces 
    response body: whether the results and documentation to field a consistent 
    response data: whether the data matches the database
 3 fault tolerance inspection interface is null if the transmission parameters, inconsistent lengths, can process error data, different data types.
4 boundary values of the interface parameters. For example, the transmission parameters large enough or small enough is negative, whether the interface can be processed.
5 compares the relative performance of the interface, SQL statements, the performance of most of the http request interface and back-end execution, algorithms.
6 security interface, external call interface is particularly important.   
   1 sensitive information is encrypted
    2 necessary parameters are also verified the rear end (the front end is easily bypassed, the rear end of the same need to be controlled)
    3 whether the interface anti-malware request (SQL injection)
7 compatible interface, such as the interface has been adjusted, but the front is not changed, this time the need to verify that new interfaces to meet the old way of calling
View Code

 

 

 Two database problem

  •  Description of the differences and connections within the outer join?

                       

Even outside the outer connector into left (left join) and right even outside (right join) 
left connecting: take all the left table, right table by matching the display condition, is displayed does not meet null 
Right connection: the right to take the entire table , the left table by matching the display condition, is displayed does not meet null 
the SELECT * the FROM t_reserve the JOIN t_advisor the lEFT a = B the ON a.advisor_id b.id; 
the SELECT * t_reserve the FROM a a.advisor_id the ON RIGHT the JOIN t_advisor B = b.id ; 

inner connecting keyword inner join, both tables satisfy the condition return portion
View Code

 

  • Multi-table queries / questions grouping queries
Existing three tables are: 
Table students (student id, name, gender, score)) student (s_id, name, sex, score) 
class table (class id, class name) class (c_id, c_name) 
student class table ( class id, students in the above mentioned id) student_class (s_id, c_id)

 1. Query class score more than 80 points or equal to 60, 61 , 62 students. 
The SELECT 
    s.s_id, 
    S. NAME, 
    s.score, 
    sc.c_id, 
    c.c_name 
the FROM 
    Student S 
the LEFT the JOIN student_class the ON s.s_id SC = sc.s_id 
the LEFT the JOIN class C = the ON sc.c_id c.c_id 
the WHERE 
    ( 
        S .score > 80 
        OR s.score the IN ( 60, 61 is, 62 is ) 
    ) 
the AND c.c_name= ' Class ' ;

 2 . Query the names of all classes, and all classes in the number of girls and women of average. 
The SELECT 
    sc.s_id, 
    c.c_name, 
    COUNT (s.sex), 
    the AVG (s.score) 
the FROM 
    student_class SC 
the LEFT the JOIN class C = the ON sc.c_id c.c_id 
the LEFT the ON sc.s_id the JOIN Student S = s.s_id 
the WHERE 
    s.sex = ' F ' 
the GROUP BY 
    c.c_name 
the ORDER BY 
    c.c_id the ASC;
View Code

 

  • What is a database transaction?

Database transaction (transaction) is possible to access and operate a variety of database operation sequence data items, these operations are either all executed or not executed all, it is an indivisible unit of work. All database operations performed by the transaction between the transaction and the end of the beginning transactions.
View Code

 

 

 

 

 Three network protocols papers

  •  The difference between get and post?
get and post are the two most common protocol http request methods:

 1 .get request is to obtain resources from the server, the request is submitted to post data to the server
 2 .get request parameter in the url, through stitching; post request parameters on? body, the form submitted by 
               ①url easily be intercepted, so get more secure than post 
               ② because get in on the url, there is generally limited to a maximum length limit of 256 characters url, and post on the body then there is no length limit
 3 .get request through url can be placed in the browser, so it can be cached and bookmarked, and can be recorded in your browser history; and the post is not
 4.get same method to send a request to execute no matter how many times the effects are the same , the server does not produce adverse effects data, the get request is idempotent, POST request is non-idempotent
View Code

 

  • In the browser what happened after entering a url?
An input address in a browser url
 2 browser to locate ip and port corresponding to the domain name by the domain name DNS resolver
 3 confirm ip and port, TCP port sends a request to the corresponding server ip (three-way handshake) to establish the connection
 4 http browser sends a request to the web server
 5 server processes the request
 6 server sends back a response HTML
 7 closes the TCP connection (four wave)
 8 browser to begin displaying HTML
 . 9 browser sends the acquired object is embedded in HTML
 10 Construction render tree
 11 browser layout rendering
View Code

 

  •  http and https What is the difference?
HTTP protocol is a hypertext transfer protocol, is used to transfer information between a Web browser and a web server. HTTP protocol is sent in plain text content, data encryption does not provide any way, if an attacker intercepts the transmission of messages between the Web browser and the web server, you can directly read the information in it, and therefore not suitable for the transmission of some HTTP protocol sensitive information such as credit card numbers, passwords and so on. 
To address this shortcoming HTTP protocol, we need to use another protocol: Secure Sockets Layer Hypertext Transfer Protocol HTTPS. To secure data transmission, HTTPS added on the basis of the SSL protocol HTTP, SSL relies on certificates to verify the identity of the server and encrypt communication between the browser and the server. 
    The main difference between HTTPS and HTTP as the following four points:
     1 .https agreement ca need to apply for a certificate, the certificate is generally free little need to pay.
    2 . Http hypertext transfer protocol, information is transmitted in the clear, https is encrypted with ssl security transmission protocol.
    . 3 . Http and https use is completely different connections, with the port are not the same, the former 80 is the default, which by default is 443.
    4.http connection is very simple, is stateless; the HTTPS protocol is SSL + built HTTP protocol for encrypted transmission, network authentication, security than the http protocol. 

Question: What is the stateless http? 
No state is no protocol for transaction processing and memory, the server does not know what the client state. After that we are sending an HTTP request to the server, upon request, we will send the data over, however, send, has not recorded any message. So as people's needs increase, clients use a cookie, the server use the session to record the state of the connection
View Code

 

  • Talk about the three-way handshake and four waving understanding of the TCP protocol?

 

(Note: SEQ ID representatives, ack acknowledgment number on behalf of) 

first handshake: when a client wants to establish a connection, the client sends a SYN packet (SEQ = X) to the server, the client then enters state SYN_SEND, representing SYN packet has been sent in the past, and recognized in waiting for the server. At this time = 0 ACK, SYN = 1 , this time to shake hands because the first time, so there is no ACK flag. 
The second handshake: server receives a SYN packet, it will be confirmed, by the above we can know SYN flag It is a sequence number synchronization, this time would make confirmation number = number + 1, i.e. ack will be equal to x + 1, then the server will send the client as a SYN packet (seq = y), which is when the server sends a SYN + ACK packet to confirm that the server indicates to the client and a handshake to establish a secondary handshake, the server enters SYN_RECV state at this time. = 1 At this point the SYN, ACK = 1 , this is the second time because the handshake, so there will be a sign to confirm the server to the client. 
Third handshake: a client server receives a SYN + ACK packet, then the server sends an acknowledgment packet will be like ACK (ack = k + 1) and SYN (= X + SEQ. 1 ), the package until after the client has been sent and the server will enter the ESTABLISHED state, complete the three-way handshake, and after you can transfer data between the server and the client. At this point SYN flag is no longer needed, because when we send ACK flag representing three-way handshake is successful, the connections have been established, the next data can be transmitted over. 
Now that has SYN ACK packet then why should it be confirmed? SYN synchronous serial number, when SYN =. 1 and ACK = 0, it indicates that this is a connection request packet. If the other party agrees to establish a connection, it should be in the response packet manipulation SYN = 1 and ACK = 1. Thus SYN set to 1 indicates that this is a connection request or a connection acceptance message. The ACK state is used to confirm whether or not to permit connection. It is passed SYN, the channel sender to prove the recipient is no problem, but the channel receiver to the sender of the ACK signal required to be verified. 

When the TCP three-way handshake finish, completed on behalf of the connection has been established
View Code

When After transmitting the data, there is between the client and server handshake 

first handshake: a client sends a FIN and a last sequence number (SEQ = U), between the client and used to represent the service has closed end request, while closing the client-server data transfers, the client enters a state of FIN_WAIT_1. 
Second handshake: server receives FIN when flag = 1, it will send an ACK flag representative confirmed, then the acknowledgment number received becomes a number incremented by 1, i.e., U + 1 = ACK (FIN and in this regard SYN same, but not the same effect) when it enters the service side CLOSE_WAIT state, which is a semi-closed state. Only the server sends data to the client and the client can not send data to the server. 
Third handshake: The handshake was initiated by the server, which is in the server after the last transfer of data (no not pass) will send a FIN = 1 = 1 and ACK , and the numbers will change seq (no pass data is unchanged), and ack unchanged. This time the server will enter LAST_ACK state, represents a final confirmation. 
Fourth handshake: a client after receiving the FIN, will enter the TIME_WAIT state, and then sends an ACK SEQ = U +. 1, ACK = + W. 1 to the server, the server at this time will enter CLOSED state. And when the client enters the TIME_WAIT state must wait for a time before shutting down 2MSL
View Code

 

  •  What common http status codes represent?
1xx:信息提示
2xx:成功
    200:成功。请求的所有数据都在响应体中
3xx:重定向
    301:(Moved Permanently)当客户端触发的动作引起了资源URI的变化时发送此响应代码。另外,当客户端向一个资源的旧URI发送请求时,也发送此响应代码。
4xx:客户端错误
    400:(Bad Request)客户端方面的问题。实体主题中的文档(若存在的话)是一个错误消息。希望客户端能够理解此错误消息,并改正问题。
    401:(Unauthorized未授权)需要输入用户名和密码
    404:(Not Found未找到)服务器无法找到所请求URL对应的资源
5xx:服务器错误
    502:(Bad Gateway)指错误网关,无效网关;在互联网中表示一种网络错误
View Code

 

 

 

四 linux相关

 

 

五 编程题(python)

 

 

 

 

 

 六 自动化

Guess you like

Origin www.cnblogs.com/wenm1128/p/12109862.html