当前位置:网站首页>Don't you even look at such a detailed and comprehensive written software test question?
Don't you even look at such a detailed and comprehensive written software test question?
2022-07-06 14:44:00 【Programming simplicity】
1. A software bug /BUG What does the record contain ? How to submit high quality software defects /bug Record ?
2、 What are the stages of testing ?
3、 Know which testing tools ? What testing tools have you used and known ? What's the use of each ?
4、 What qualities and skills do you think a test engineer should possess ?
5、 What are the attributes of the questionnaire ?
6、 What are the elements of a complete test plan ?
7、 Check out the tools for the interface ? Name the operation of a tool
8、 The four stages of a typical waterfall model , Software life cycle
9、 What are the tasks in the software development process ?
10、 How to divide the level of software defects ?
11、 Please explain the advantages and disadvantages of black box test and white box test respectively !
12、 Answer what is software testing according to your own understanding , What are the stages of software testing .
13、 What are test cases and test procedures , What should be considered in designing a test case ?
14、 Problems often encountered by testers in the process of software development :
15、 What is smoke test ?
16、 End of test criteria ?
17、 Why software testing ? What is the purpose of software testing ?
18、 Software testing should be divided into several stages ? Briefly describe the key test points in each stage ? The meaning of each stage ?
19、 Explanation of professional words (α、β test ; Driver module ; Pile module )
20、 Try to describe the whole process of testing a software project
21、 What is the purpose of the test planning effort ? What are the contents of the test planning work ? Which of these are the most important ?
22、 stay Linux In the system , Access to a file is 755, What does it mean ?
23、 What is the status of testing tools in testing work ?
24、 Briefly c/s Mode or b/s Pattern ?
25、 Briefly describe the difference between load test and stress test .
26、ISO What layers are the model divided into , What is the order from bottom to top ?
27、TCP/UDP What are the differences ?
28、 Describe the purpose of subnet mask .
29、 Take your past work as an example , Describe the complete process of a test case design in detail .
30、 What are the test case design methods that you are familiar with ?
31、 Compare black box test 、 White box testing 、 unit testing 、 Integration testing 、 The system test 、 The difference and connection of acceptance test .
32、 What is the key to test case design ?
33、 What are the design methods of test cases ? Please describe the steps of designing test cases with decision table .
34、 What are the automated test frameworks ?
35、 What are the statistical methods for test coverage ? What are the differences ?
36、 What is? FMEA?
37、 What is effective equivalence class , Invalid equivalence class ?
38、 Please describe TCP/IP The process of establishing a connection
39、 A call to a DLL( Dynamic link library ) What are the ways ?
40、 The difference between a process and a thread ?
41、 Six kinds of coverage of white box test
42、 What management measures should be taken for defects ?
43、 If you can perform the perfect black box test , Do you still need a white box test ( The difference between a black box and a white box ?)
44、 Other questions are recorded ( Black box test method 、 Cause and effect diagram )
1、 In your previous work , A software bug ( Or call it BUG) What does the record contain ? How to submit high quality software defects (bug) Record ?
—— One BUG Basically, the record should contain : Number 、 The module it belongs to 、 Description information 、 Level 、 The date of discovery / people 、 modification date / people 、 Modification method 、 Regression results and so on ;
—— It is necessary to design efficient test cases with reference to requirements, detailed design and other early documents , Then strictly execute the test cases , Fully confirm the problems found , And then publish it out , In this way, we can improve bug quality .
2、 What are the stages of testing ?
—— According to the development stage , Software testing can be divided into unit testing 、 Integration testing 、 System testing and acceptance testing .
unit testing : Testing for each unit , The goal is to ensure that each module works properly
Integration testing : Assemble the tested modules , Conduct integration test . The purpose is to examine the program structure related to software design .
The system test : Verify that the software product can interact with other parts of the system ( such as : Hardware 、 Database and operators ) Coordination work .
The acceptance test : The last process to test the quality of software products , Mainly highlight the role of users , At the same time, software developers also have a certain degree of participation .
3、 Know which testing tools ? What testing tools have you used and known ? What's the use of each ?
Jmeter: The interface test 、 Pressure test
soapui: The interface test
xShell、xftp: management Linux System
ZenTao : management BUG
navicat: Management database
4、 What qualities and skills do you think a test engineer should possess
Skill : Computer skills , Testing professional skills , Software programming skills
Quality : communication skills , Be rigorous 、 Dare to take responsibility 、 A steady style of doing things , With the spirit of doubt and destruction , Be good at self summarization 、 Self supervision .
5、 What are the attributes of the questionnaire ?
—— All I know is : Product modules 、 Project 、 Version 、bug title 、 Steps and test data 、bug And log screenshots 、 Type and severity 、 System / browser
6、 What are the elements of a complete test plan ?
test plan 、 personnel allotment 、 Time arrangement 、 Determination of test methods 、 Determination of testing tools 、 Test report
7、 Check out the tools for the interface ? Name the operation of a tool
jmeter And soapui All support
jmeter Usage of : Create a new thread group , add to http Request of type → Fill in the interface address and data → Add view result tree → Run → View results 、 Analyze
8、 The four stages of a typical waterfall model are : analysis 、 Design 、 code 、 test
The life cycle of software is divided into : draw up a plan 、 Demand analysis 、 software design 、 Programming 、 Software testing, operation and maintenance, etc 6 There are three basic activities .
Five typical development cycle models : The waterfall 、V、 Prototyping 、 screw 、 iteration
9、 What are the tasks in the software development process ?
a. Participation needs analysis ;b. Write test cases ;c. seek Bug;d. Avoid defects in the software development process ;e. Measure the quality of software ;f. Focus on the needs of users . The overall goal : Ensure software quality
10、 How to divide the level of software defects ?
Fatal error , This module and other related modules may be abnormal , Crash and other issues ;
Serious mistakes , The problem is limited to this module , Cause module function failure or abnormal exit ;
A general mistake , The function of the module is partially invalid ;
Suggested questions , The improvement suggestions of the problem proposer on the test object ;
11、 Black box testing and white box testing are two basic methods of software testing , Please explain their advantages and disadvantages respectively !
Advantages of black box testing :1) Relatively simple , You don't need to know the code and implementation inside the program ;2) It has nothing to do with the internal implementation of the software ;3) From the user's point of view , It's easy to know which functions users will use , What problems will be encountered ;4) Based on software development documentation , So you can also know what functions the software implements in the document ;5) It is more convenient to do software automatic testing .
Disadvantages of black box test :1) It's impossible to cover all the code , Low coverage , It's only about half of the total code 30%;2) The reusability of automated testing is low .
Advantages of white box testing : Help software testers increase code coverage , Improve the quality of your code , Find hidden problems in the code .
Disadvantages of white box testing :1) There are many different paths for the program to run , It is not possible to test all the run paths ;2) Testing is based on code , You can only test if the developer is doing it right , We can't know whether the design is right or not , Some functional requirements may be missed ;3) When the system is huge , It's going to be very expensive to test .
12、 Answer what is software testing according to your own understanding , What are the stages of software testing .
—— Software testing is a process of running software to find errors in software , A successful test is a test that finds an error that has not been found so far .
Software testing is generally divided into unit testing 、 Integration testing and system testing .
13、 What are test cases and test procedures , What should be considered in designing a test case ?
—— In a narrow sense , A test case is a set of data that testers use to test a feature or feature combination of the software under test . This set of data may be the actual set of data obtained from the user , It may also be a set of data specially designed by testers to test some functions of software .
—— Test procedure is a detailed design method of test cases 、 The test method 、 Testing tools 、 A document describing the test environment and test data , It can also include a series of operation steps that can apply a certain test case or a group of test cases to the software under test to complete a certain test .
—— The design of test cases should be considered from the following aspects : The boundary value , Equivalence class division , It works / Invalid value, etc .
14、 Problems often encountered by testers in the process of software development :
—— Demand changes too much, too messy , Relevant documents are not updated , The document does not match the actual function of the project ; Many times, the latest needs are just hidden in the minds of individuals , The tester is always the last person to know the changes in requirements .
—— Suggestions for improvement : Be able to establish requirements change system , At what stage must requirements change stop ( This must be made clear to the requirements proposer in the early stage of the project ); Each requirement change must be confirmed by the person proposing the requirement , After the demand changes, a special person must update the relevant documents ( These documents are the basis for testers to write plans and use cases ); And can inform relevant personnel , In this way, the program personnel can modify the response program , The tester modifies the response's use case , And can correctly test the procedures after requirements change
15、 What is smoke test ?
Fewer people but more experienced , Test the main functions of the whole system in a short time 、 Whether the main business processes are realized , Is stable .
16、 End of test criteria ?
a. The module test case has been executed , Covering all software requirements ;
b. The defect convergence trend meets the quality requirements ;
c. The defect repair rate meets the needs of product designers ;
d. Achieve the pre defect measurement principle
17、 Why software testing ? What is the purpose of software testing ?
—— Because software testing is to use testing tools to test the function and performance of products according to the test scheme and process , Even write different test tools as needed , Design and maintain test system , Analyze and evaluate the possible problems in the test plan . After executing the test case , Need to track faults , To ensure that the developed products meet the needs .
—— The purpose of software testing : The first is to confirm the quality of the software , One aspect is to make sure that the software does what you expect to do , The other is to make sure that the software does it in the right way . The second is to provide information , Such as feedback to developers or program managers , Information prepared for risk assessment . Third, software testing is not only testing the software product itself , It also includes the process of software development . If many problems are found after the development of a software product , This shows that the software development process is likely to be flawed . therefore , The third purpose of software testing is to ensure that the whole software development process is of high quality .
18、 Software testing should be divided into several stages ? Briefly describe the key test points in each stage ? The meaning of each stage ?
—— Generally speaking, it can be divided into unit testing , Integration testing , The system test , The acceptance test , Each stage is divided into the following five steps : test plan , Test design , Use case design , Execution results , Test report .
—— Initial testing focused on each module , Ensure the correctness of the source code , This phase becomes unit testing , The white box test method is mainly used . Next is module integration and integration to form a complete software package . Integration testing focuses on validation and program composition . The black box test method is mainly used , Supplemented by white box test method . After software integration , Need to complete validation and system testing . Confirm that the software provided by the test meets all functions 、 The final guarantee of performance requirements . The confirmation test only applies the black box test method .
unit testing : Unit testing is the testing of basic components in software , Like a module 、 A process, etc . It is the most basic part of software dynamic testing , And one of the most important parts , Its purpose is to test the correctness of the basic components of the software .
Integration testing : Integration testing is the testing in the process of software system integration , Its main purpose is to check whether the interface between software units is correct .
The system test : System testing is to test the integrated software system thoroughly , To verify the correctness and performance of the software system to meet the requirements specified in the specification , Checking the behavior and output of software is not a simple task , It's called the test of “ The prophet question ”.
The acceptance test : The purpose of acceptance testing is to show the software purchaser that the software system meets the needs of its users . Its test data is usually a subset of system test data .
regression testing : Regression testing is in the software maintenance phase , Testing after modifying the software . The purpose is to verify that the changes made to the software are correct .
19、 Explanation of professional words (α、β test ; Driver module ; Pile module )
α test : The tester uses the data provided by the user , Instead of simulating data for testing ; Test the whole system , To ensure that it can be delivered .( insiders )
β test : It refers to installing software at some potential customers , The test method reported by customers according to the actual use .
Driver module : The drive modules are collectively referred to as... In most fields " The main program ", It receives test data and passes it to the module under test . Unit testing a function unit , The unit under test cannot run independently , Data needs to be transferred for it , For this, write driver . The driver module mainly completes the following things : 1、 Accept test input ; 2、 Judge the input ;3、 Pass the input to the unit under test , Drive the unit under test to execute ; 4、 Accept the execution result of the unit under test , And judge the results ;5、 Take the judgment result as the case execution result and output the test report .
Pile module : For example, for functions A When doing unit tests , The function unit under test also includes a function B, In order to better locate the error , It's a function B Pile writing , To simulate a function B The function of , Make sure it's right .
20、 Try to describe the whole process of testing a software project
Choose a simple item at will , Let's say it's a flowery paper cup with an advertisement for drinking water , Ask the candidate to design as many test cases as possible .
-> Test project : glass
-> Requirements testing : Check the cup instructions
-> Interface tests : Look at the appearance of the cup
-> Functionality : Fill a water cup with water to see if it leaks ; Can water be drunk
-> Security : Is there any poison or bacteria in the cup
-> reliability : The degree of damage caused by the cup falling from different heights
-> Portability : The cup is in a different place 、 Whether it can be used normally under temperature and other environments : Whether the cup can hold juice 、 plain water 、 alcohol 、 Gasoline, etc
-> Ease of use : Is the cup hot 、 Is there any anti-skid measures 、 Is it convenient to drink
-> User documentation : Is the instruction manual for cup usage 、 Limit 、 The conditions of use are described in detail
-> Fatigue test : Fill the cup with water ( Case a ) discharge 24 Check the leak time and condition every hour ; Fill it with gasoline ( Case 2 ) discharge 24 Check the time and condition of leakage every hour
-> Pressure test : Use a needle and add weight to it , Look at the pressure, it will penetrate
-> Drop test : The cup is packed ( There are fillers ), How high does it fall without breaking
-> Vibration test : The cup is packed ( There are fillers ), Six vibrations , Check if the product can cope with the bad Railway \ highway \ transport aviation
-> Test data : The test data is written here ( I hate writing test data ).
-> Expected output : The expected output should refer to the national standard 、 Logo and user needs
-> Instruction Testing : Check the accuracy of the instructions
21、 What is the purpose of the test planning effort ? What are the contents of the test planning work ? Which of these are the most important ?
—— Software test plan is a programmatic document to guide the test process , Includes product overview 、 The test strategy 、 The test method 、 Test area 、 Test configuration 、 Test cycle 、 Test resources 、 Test communication 、 Risk analysis, etc . With software test plan , Project members participating in the test , Especially test managers , Test tasks and methods can be specified , Maintain smooth communication during test implementation , Track and control test progress , Respond to changes during testing .
—— Test plan and test details 、 There is a strategic and tactical relationship between test cases , The test plan mainly plans the scope of testing activities from the macro level 、 Methods and resource allocation , And testing detailed specifications 、 Test cases are specific tactics for completing the test task . So the most important one is the test strategy and test method ( It's better to judge first )
22、 stay Linux In the system , Access to a file is 755, What does it mean ?
755 Indicates that the owner of the file has read access to the file 、 Write 、 Executive authority , Users in the group of the file owner and other users have read and execute permissions on the file .
owner + Group users + Other users ,rwx = 421.
23、 What is the status of testing tools in testing work ?
(1) Many test engineers in China are infatuated with testing tools , Especially for beginners , It is even expected that testing tools can replace manual testing . Testing tools play an auxiliary role in the testing work , It is generally used to improve test efficiency . Automated testing makes up for the lack of manual testing , Reduce a certain amount of work . In fact, testing tools cannot replace most manual testing , Some automated tests such as performance testing can't be done by hand .
(2) For automated testing technology , It should be treated according to different situations of software , General automation techniques will be used where a lot of repetitive work is caused 、 The pressure point of the system 、 And any place where it's appropriate to use programs to solve mass input data . Then look for the right automated testing tool , Or develop your own test program .
(3) Never use... For the sake of using a test tool .
24、 Briefly c/s Mode or b/s Pattern ?
——C/S Pattern : client / Server mode . working principle :Client towards Server Submit a request ;Server Then use some methods to process the request , And return the effect to Client.
——B/S structure , namely Browser/Server( browser / The server ) structure , With Internet The rise of Technology , Yes C/S A changed or improved structure . Under this structure , The user interface is completely through WWW Browser implementation , Part of the transaction logic is implemented in the front end , But the main transaction logic is implemented on the server side , Form what is called 3-tier structure .B/S structure , It's mainly using the maturing WWW Browser technology , Combined with a variety of browser Script Language (VBScript、JavaScript…) and ActiveX technology , With a general browser to achieve the original need for complex special software to achieve a powerful function , And save the development cost , Is a new software system construction technology .
25、 Briefly describe the difference between load test and stress test .
—— Pressure test (Stress Testing): The main task of stress testing is to get the limits of the correct operation of the system , Check the ability of the system to perform correctly under transient peak load . for example , When stress testing the server, you can increase the number of concurrent users ; Or keep sending requests to the server ; Or send extra large data to the server at one time . Look at the maximum state that the server can reach to keep it up and running . People usually use testing tools to do stress testing , For example, tens of thousands of users log in from the terminal at the same time , This is a common method used in stress testing .
—— The load test (Volume Testing): Used to check the ability of the system to work correctly when using large amounts of data , That is, to what extent can the ability of the inspection system reach the highest level . for example , For information retrieval systems , Let it be used most frequently ; For a time-sharing system with multiple terminals , Let all its terminals run . In order to make all the resources of the whole system reach “ Full load ” Under the situation of , Test the endurance of the system .
26、ISO What layers are the model divided into , What is the order from bottom to top ?
From the bottom up : The physical layer 、 Data link layer 、 The network layer 、 Transport layer 、 The session layer 、 Presentation layer and application layer .
The switch works in ISO Which layer in the model ?——2 layer ( Data link layer ).
Router works in ISO Which layer in the model ?——3 layer ( The network layer ).
27、TCP/UDP What are the differences ?*
——TCP- There is a connection , So the handshake process consumes resources , The process is reliable connection , No loss of data , Suitable for large data exchange .
——UDP- Unreliable connection , Loss of package , No check , Fast , No handshake process .
28、 Describe the purpose of subnet mask .
—— Subnet mask is mainly used to judge two IP Is the address in the same LAN ; The subnet mask is made up of contiguous 2 Base number 1 Composed of . Subnet mask sum IP After bitwise and operation of address , Consistent result , It means to be in a local area network , If it's not consistent , No longer in a LAN , Need to find a route .
29、 Take your past work as an example , Describe the complete process of a test case design in detail .
—— First : Get the relevant documents ( Requirements documents and design documents ), After understanding the requirements and design ideas , Think about the test strategy ( The test plan is simple OK 了 ), Considering the test environment , The test case , Test time and so on .
—— The second step : Design test cases , The test strategy is : Test the function points of the website , And then we're doing system testing ( Another module is in the charge of another Tester , It can be used for joint test ), Website module testing is basically functional testing and interface testing ( The possibility of user concurrency is very small , So don't consider ): The input data of this website is recorded in a table in the database , If a new entry is added to a data record in the table ( That hasn't been dealt with yet , There's a marker bit ), When the website starts, it will immediately swipe the form , Get multiple pieces of data , And then we're working on it . In the process , Will experience 3 A step , The website has completed its task . Yes 3 A step , You can do this separately 3 Design test cases in three steps , Try to cover all input situations ( Including the data in the database , User input, etc ), It's almost 50 A use case . Interface tests , That's where users can see , Including the email sent and the user fill in the information page display .
—— The third step : Set up the test environment ( Why consider the test environment at this time ? Because I'm familiar with the website environment , Only if the machine is free to do the function test ), Because the environment of the website itself is a little different from other systems , It needs a more troublesome test environment , need web The server (Apache,tomcat), But this time the demand is , The website only uses tomcat, So as long as there is tomcat that will do
—— Step four : Perform the test
30、 What are the test case design methods that you are familiar with ?
Please use specific examples to illustrate the application of these methods in test case design .
(1) Equivalence class division : An equivalence class is a subset of an input field . In this subset , Each input data is equivalent to exposing errors in the program . And reasonably assume that : Testing representative values of an equivalent class is equivalent to testing other values of this class . therefore , All input data can be reasonably divided into several equivalent classes , Take one data in each equivalence class as the input condition of the test , You can use a small amount of representative test data . Good test results are obtained . There are two different cases of equivalence division : Effective equivalence class and invalid equivalence class .
(2) Boundary value analysis : It is a supplement to the method of equivalence class partition . Testing experience tells me , A lot of errors occur at the boundary of the input or output range , Not inside the I / O range . Therefore, test cases are designed for various boundary conditions , We can find out more mistakes .
Use boundary value analysis to design test cases , First of all, boundary conditions should be determined . Generally, the boundary of input and output equivalence classes , It's the boundary situation that should be tested . It should be chosen exactly equal to , Just greater than or just less than the boundary value as test data , Instead of selecting typical values or arbitrary values in equivalent classes as test data .
(3) Wrong guess : Based on experience and intuition, we can infer all kinds of possible errors in the program , So as to design test cases with pertinence .
The basic idea of the wrong way of guessing : List all the possible errors in the program and the special cases that are prone to errors , Choose test cases based on them . for example , Many of the common errors in modules that have been listed during unit testing . Mistakes found in previous product tests, etc , These are the summaries of experience . also , The input data and output data are 0 The situation of . Input form is blank or input form has only one line . These are all error prone situations . The examples in these cases can be selected as test cases .
(4) Cause and effect diagram method
The equivalence class partition method and boundary value analysis method introduced above , They all focus on the input conditions , But the connection between input conditions is not considered , Combination, etc . Consider the combination of input conditions , There may be something new . But it's not easy to check the combination of input conditions , Even if all input conditions are divided into equivalent classes , There are quite a lot of combinations between them . Therefore, it is necessary to consider a combination suitable for describing multiple conditions , The corresponding form of multiple actions to consider the design of test cases . This requires the use of cause and effect diagrams ( logical model ). The final result of causality diagram is the judgment table . It is suitable for checking various combinations of program input conditions .
31、 Compare black box test 、 White box testing 、 unit testing 、 Integration testing 、 The system test 、 The difference and connection of acceptance test .
Black box testing : The functional design specifications of the product are known , Tests can be carried out to prove whether each implemented function meets the requirements .
White box testing : Know the internal working process of the product , Each internal operation can be tested to verify that it meets the design specifications , All internal components are checked .
unit testing ( Module test ) It's a small piece of code written by developers , A very small one used to test the code under test 、 It's very clear whether the function is correct . generally , A unit test is used to determine a specific condition ( Or the scene ) The behavior of a particular function .
Integration testing ( It's also called assembly testing , The joint test ) It's a logical extension of unit testing . Its simplest form is : Two tested units are combined into one component , And test the interface between them . In this sense , Component refers to the integration and aggregation of multiple units . In the real plan , Many units are combined into components , And these components make up a larger part of the program . The way to do this is to test the combination of fragments , And eventually extend the process , Test your module with modules from other groups . Last , Test all the modules that make up the process .
System testing is to assemble the tested subsystem into a complete system to test . It is an effective method to verify whether the system can provide the functions specified in the system scheme specification .( Common joint debugging test )
Acceptance testing is the last test operation before deploying the software . The purpose of acceptance testing is to ensure that the software is ready , And can let the end user use it to carry out the established functions and tasks of the software . Acceptance testing is to show future users that the system can work as expected . After integration testing , All the modules have been assembled into a complete software system according to the design , Interface errors have been basically eliminated , Then we should further verify the effectiveness of the software , This is the task of acceptance testing , That is, the function and performance of the software are as expected by users .
32、 What is the key to test case design ?
The key of white box test case design is to cover as many internal program logic results as possible with fewer use cases .
The key of black box use case design is to cover module output and input interfaces with fewer use cases . It's impossible to do a full test , Find the most problems in a reasonable time with the least use cases .
33、 What are the design methods of test cases ? Please describe the steps of designing test cases with decision table .
Equivalence class division , Boundary value analysis , Wrong inference , Cause and effect diagram , Orthogonal table analysis , Scenario analysis .
Decision table steps for designing test cases : Determine the number of rules ; List all condition piles and action piles ; Fill in the conditions , Get the initial decision table ; Simplify and merge similar rules .
34、 What are the automated test frameworks ?
Modular framework , Function library framework ; Keyword Driven test framework ; Data driven framework .
35、 What are the statistical methods for test coverage ? What are the differences ?
Code coverage ; Functional module coverage ; Database coverage ; Demand coverage .
36、 What is? FMEA?
—— Failure mode and effect analysis , It is an important method of reliability design , Evaluate various risks , analysis , So as to eliminate these risks or reduce the risks to an acceptable level on the basis of the existing technology .
37、 What is effective equivalence class , Invalid equivalence class ?
—— Valid equivalence class values are reasonable for program specifications , A collection of meaningful input data . Using the effective equivalence class, we can check whether the program realizes the preset functions and characteristics of the specification . Invalid equivalence class refers to the data set that is meaningless and unreasonable for the software specification .
38、 Please describe TCP/IP The process of establishing a connection
—— Three handshakes , Create a connection .
—— The first handshake , The client sends syn package (syn=j) To the server , And enter SYN_SEND state , Wait for server to confirm ;
—— The second handshake , Server received syn package , Must confirm customer's SYN(ack=j+1), Also send a syn package (syn=k), namely SYN+ACK package , At this time, the server enters SYN_RECV state ;
—— The third handshake , Client receives server's SYN+ACK package , Send confirmation package to server ACK(ack=k+1), This package has been sent , Client and server access EATABLISHED state , Complete three handshakes .
39、 A call to a DLL( Dynamic link library ) What are the ways ?
(1) When programming , Call directly include The library files . When the compiled program is used, it is called directly by the operating system .
(2) Use when programming LoadLibrary,FreeLibrary,GetProcAddress To dynamically load programs . When the compiled program uses the library file , The program loads itself .
40、 The difference between a process and a thread ?
A thread is an execution unit of a process , It is also a schedulable entity of the process . The difference from the process :
-> address space : An execution unit within a process ; The process has at least one thread , They share the address space of the process , The process has its own address space ;
-> Resource ownership : Processes are units of resource allocation and ownership , Threads in the same process share the resources of the process ;
-> Threads are the basic unit of processor scheduling , The process is not ;
-> Both can be executed concurrently .
41、 Six kinds of coverage of white box test
-> Statement override : Executable statements are executed at least once ;
-> Determine coverage : The true branch and false branch of each judgment experience at least once ;
-> Conditional coverage : The value of each condition is satisfied at least once ;
-> Judge whether the condition covers : Judgment and conditions are met ;
-> Conditional combination covering : All possibilities of each condition occur at least once , And the judgment result appears at least once ; The difference between him and conditional coverage : He doesn't simply ask every condition to appear “ really ” and “ false ” Two results , Instead, it requires that all of these results occur at least once ;
-> Path test : Execute all possible execution paths ;
-> Basic path testing : The path test executes each path , The result of each judgment must have experienced once
Six coverage standards , The order of strength from weak to strong is : Statement override 、 Determine coverage 、 Conditional coverage 、 determine / Conditional coverage 、 Conditional combination covering 、 Path coverage
42、 What management measures should be taken for defects ?
(1) To better manage defects , Defect management tools have to be introduced , Commercial or open source .
(2) According to the life cycle of the defect , Consider the management of defect submission , Defect status management and defect analysis management .
(3) All defects found must be immediately , Submit to defect management tool accurately , This is the management of defect submission .
(4) After defect submission , It needs to be assigned to the corresponding developers immediately , The person submitting the defect needs to pay close attention to the status of the defect , Help to solve the defect as soon as possible , After the defect is solved, the repair of the defect needs to be verified immediately . The purpose is 2 individual : Let the defect be solved as soon as possible ; Facilitate the analysis of defects later .
(5) In order to better improve the development plan and test process , Defects need to be analyzed , Summarize the types of defects , Age distribution of defects .
43、 If you can perform the perfect black box test , Do you still need a white box test ( The difference between a black box and a white box ?)
—— Any engineering product ( Note that any engineering product ) You can use one of the following two methods to test .
—— Black box testing : The functional design specifications of the product are known , Tests can be carried out to prove whether each implemented function meets the requirements . The black box test of software means that the test should be carried out at the interface of the software . This approach treats the test object as a black box , Testers don't consider the logical structure and internal characteristics of the program at all , Only according to the requirement specification of the procedure , Check whether the function of the program conforms to its function description . So black box testing is also called functional testing or data-driven testing . The main purpose of black box testing is to find the following types of errors :
1、 Is there any incorrect or missing function ?
2、 On the interface , Whether the input can be accepted correctly ? Can you output the correct result ?
3、 Is there any data structure error or external information ( For example, data files ) Access error ?
4、 Whether the performance can meet the requirements ?
5、 Whether there are initialization or termination errors ?
—— White box testing : Know the internal working process of the product , Each internal operation can be tested to verify that it meets the design specifications , All internal components are checked . White box testing of software is a detailed examination of the process details of the software . This approach is to think of the test object as an open box , It allows testers to take advantage of the logical structure and related information within the program , Design or select test cases , Test all logical paths of the program . By checking program status at different points , Determine if the actual state is consistent with the expected state . So white box testing is also called structural testing or logic driven testing . White box test is mainly to check the program module as follows :
1、 Test all independent execution paths of program modules at least once .
2、 For all the logical decisions , take “ really ” And take “ false ” Both of them can be tested at least once .
3、 Execute the loop body within the bounds of the loop and the bounds of its operation .
4、 Test the effectiveness of the internal data structure , wait .
—— The above facts show that , Software testing has a fatal flaw , That is, the test is not complete 、 Incompleteness . Because any program can only do a small amount of ( Relative to the huge number of exhausts ) Limited testing of , When no errors are found , It doesn't mean there are no errors in the program . Even if a perfect black box test is performed, it is impossible to test specific parts of the program , In addition, when the specification itself is wrong , Can't find the problem . The white box test can cover specific parts of the program , Therefore, black box and white box tests complement each other , It is more reasonable to design test cases .
—— Experience shows that , White box testing is usually used in unit testing , Integration testing uses gray box testing , System testing uses black box testing .
44、 Other questions are recorded ( Black box test method 、 Cause and effect diagram )
—— Commonly used black box test method : Division of equivalence class 、 Boundary value analysis 、 Orthogonal experimental design method 、 Cause and effect diagram 、 Decision table method .
—— Cause and effect diagram : Both the equivalence class partition method and the boundary value analysis method focus on the input conditions , If there is no connection between program inputs , Using equivalence class partition and boundary value analysis is an effective method . If there is a relationship between inputs , for example , Binding relationship 、 synthetic relation , This relationship is difficult to describe by equivalence class partition and boundary value analysis , The test effect is difficult to guarantee , Therefore, it must be considered to use a combination suitable for describing multiple conditions , Test method for generating multiple corresponding actions , Causality diagram is proposed under this background , Focus on testing the dependency between input and output in the specification .
—— Design steps of causality diagram test case :
(1) Determine software specifications ( demand ) The causes and consequences of
(2) Determine the logical relationship between cause and effect
(3) Determine the constraints in the cause and effect diagram (constraints)
(4) Draw a cause and effect diagram and convert it into a decision table
(5) Design test cases according to the decision table
Equivalence analysis test = Equivalence class division + Boundary value analysis test , The boundary value method is both a white box and a black box test method .
After reading this article , Believe in the following two things , It will also be helpful to your self-improvement :
1、 give the thumbs-up , Let more people see , At the same time, your recognition will encourage me to create more high-quality content .
2、 Make yourself stronger : Think , If you want to do it in the testing industry for a long time , Your work experience and testing skills are definitely not enough , You need to improve , You need to enrich your technology stack ! What are we waiting for? !
Receive the last : Look at the bottom
This information , Do right 【 software test 】 For my friends, it should be more complete , This kind of learning materials also accompanied me through the most difficult journey , Hope it can help you too ! Everything should be done as soon as possible , Especially in the technology industry , We must improve our technical skills .
边栏推荐
- Intranet information collection of Intranet penetration (2)
- [pointer] find the length of the string
- JDBC 的四种连接方式 直接上代码
- Statistics 8th Edition Jia Junping Chapter IX summary of knowledge points of classified data analysis and answers to exercises after class
- 5 minutes to master machine learning iris logical regression classification
- c语言学习总结(上)(更新中)
- JVM memory model concept
- To brush the video, it's better to see if you have mastered these interview questions. Slowly accumulating a monthly income of more than 10000 is not a dream.
- 关于超星脚本出现乱码问题
- [pointer] solve the last person left
猜你喜欢
Intranet information collection of Intranet penetration (3)
Keil5 MDK's formatting code tool and adding shortcuts
Query method of database multi table link
Quaternion -- basic concepts (Reprint)
《统计学》第八版贾俊平第八章假设检验知识点总结及课后习题答案
Uibutton status exploration and customization
. Net6: develop modern 3D industrial software based on WPF (2)
Database monitoring SQL execution
How does SQLite count the data that meets another condition under the data that has been classified once
线程的实现方式总结
随机推荐
Binary search tree concept
内网渗透之内网信息收集(三)
SystemVerilog discusses loop loop structure and built-in loop variable I
“Hello IC World”
New version of postman flows [introductory teaching chapter 01 send request]
MySQL interview questions (4)
Query method of database multi table link
《统计学》第八版贾俊平第六章统计量及抽样分布知识点总结及课后习题答案
JDBC read this article is enough
c语言学习总结(上)(更新中)
Wu Enda's latest interview! Data centric reasons
{1,2,3,2,5} duplicate checking problem
Statistics 8th Edition Jia Junping Chapter 14 summary of index knowledge points and answers to exercises after class
Interview Essentials: what is the mysterious framework asking?
Intranet information collection of Intranet penetration (4)
Zhejiang University Edition "C language programming experiment and exercise guide (3rd Edition)" topic set
Library management system
“Hello IC World”
数字电路基础(二)逻辑代数
What is the transaction of MySQL? What is dirty reading and what is unreal reading? Not repeatable?