I went to TZ for an interview last week. The positions they provided were not familiar with software development. But when Mr. Lu introduced me, I couldn't escape temporarily. I had to choose a software testing position. I have previously recorded the written test and interview experience:
Experience: http://www.cnblogs.com/kulong995/archive/2010/02/24/1672848.html
Http://www.cnblogs.com/kulong995/archive/2010/03/05/1679338.html
In fact, there is another round of interviews later. The interviewer only asked me three questions: 1. software testing process. 2. General software testing methods. 3. Black Box and white box tests. At that time, out of resistance, I left without a good answer.
Later, Hu went to the interview on Monday. The results of the test and interview should be the same as that of me, But he proposed that he would as and know air development. The interviewer is also interested in this technology. He just handed in a question and asked him to go back. After several days of hard work, the program was written and he also got the opportunity to review. In some aspects, I cannot match him: initiative, self-confidence, and strength. When I communicated with the interviewer, I only asked them what kind of positions they wanted to recruit. If they found that they were not suitable for me, they gave up and did not fully demonstrate their abilities to arouse the interviewer's interest. Of course, this also has some luck, but if you don't try it, what is the chance?
Later, Mr. Lu helped me communicate with me again and asked me to try again. I have been familiar with the test knowledge over the past few days. However, I have never started until today. I really want to develop and do what I am interested in, but I can't let him down! Maybe the test is also suitable for me? Of course, I will not give up on development.
I learned the basic requirements of the following testers on the Internet: computer skills (including professional testing skills, software programming skills and network, operating systems, databases, middleware, and other knowledge ).
I found that I knew a little about every aspect, but I was not proficient in it, and I had no relevant experience. But I think computer skills should be difficult for me. I believe I can handle it very quickly :)
In addition to the basic requirements, there is also the quality of software testing, I found this requirement is very good. I plan to analyze them one by one:
1. Communication Skills-I am willing to communicate with people and be good at dealing with people.
② Empathy-I am a person with rich feelings and compassion.
③ Technical capability-this is almost the case. I am rarely using conventional testing tools.
④ Self-confidence-this is relatively lacking. I always think that I am not good enough and not professional enough.
⑤ Diplomatic ability-this experience has to be learned and I have to note that I speak straight.
6. Sense of humor-shared by friends.
7. Strong memory-remember the most important things and forget the general things.
Patience-long-term patience may not work, but short-term patience is strong. You can see from your normal debugging program.
Lack of suspicion. I always believe that Niu Ren is right.
Lack of supervision and self-supervision. You can make plans for yourself, but long-term implementation is difficult.
11. insights-usually careless, but can be noticed where others do not pay attention.
After analysis, I can still become a test engineer ~ For the weak technical links, I 'd like to hurry up. Searching... Okay, I admit that I used to underestimate the test and thought it would be okay to test whether the program runs correctly and whether a bug exists.
Let's talk about the first question: what is the software testing process.
Test process:
Requirement stage flowchart:
Unit/integration testing Flowchart
System test phase Flowchart
Stress Testing Flowchart
Performance test Flowchart
It is complex to understand, and there must be more problems in the actual operation process. Like stress testing and performance testing, where can I use it in general. Although I know some distributed applications and massive storage, I have never seen 1 TB of data. It's empty talk =. =
The second problem is the conventional method of software testing.
I don't know. I used to know more than I thought.
Third question: black box test and white box test
White-box testing is a test using the source code of the program without using the user interface. This type of test requires you to detect defects or errors of internal code in algorithms, overflow, paths, conditions, and so on from the code syntax, and then correct them.
Black-box testing is strictly tested by using the entire software or some software function, without checking the source code of the program, or knowing how the source code program of the software or a software function is designed clearly. Testers can understand how the software works by entering their data and then looking at the output results. Generally, when testing, the tester not only uses input data that must produce correct results, it also uses challenging input data and input data that may result in errors to understand how the software processes various types of data.
By the way, we will introduce other testing methods in the software engineering class:
Gray-box test or gray-box testing: the gray-box test is like a black-box test, however, testers have already understood how the source code program of the software or a software function is designed. I even read some of the source code. Therefore, testers can test certain conditions/functions in a targeted manner. The significance of this is: if you know the internal design of the product and have an in-depth understanding of the product through the user interface, you can test its performance more effectively and deeply from the user interface.
A valid case (valid case) or a valid input case is a test case that can be correctly handled by known software programs. Generally, it refers to the test case of software input. For example, in Microsoft Excel, enter "= 1 + 1" on the keyboard and the result is "2 ". The valid use case entered here is "= 1 + 1 ". Invalid use cases (invalid input use cases) or error Use Cases: test cases that are known to be not supported by the software program. For example, in Microsoft Excel, enter "= a + 1" on the keyboard and the result is "# name ?". The "= a + 1" entered here is both an invalid use case and an error use case.
Boundary cases: A test of the surrounding boundary value. It usually means the maximum value, the minimum value, or the longest string that the design software can process. For example, the font size of a software font can range from 8 to 72. Then, the test cases should include: less than 8, equal to 8, equal to 72, and greater than 72.
Equivalent Classes: an equivalent test case indicates that if many test cases are executed, no new defects will be found. Although the input and output results are different, they all use the source code path of the same software. Generally, as long as the path of a source code program is used to process all values within a certain value range, all values within the boundary value range, except the boundary value, generally belong to the equivalence class. Because if the software program can correctly process a value, it means that the program can correctly process any valid input value except the boundary value within this range. Let's use the font size of the above software font for example. The font size range supported by the software is from 8 to 72. All supported font sizes between 8 and 72 can be considered as test cases of equivalence classes. Another example is the two use case http://www.yahoo.com/and http://www.yahoo2.com/is also the test case of the equivalence class when the hyperlink is tested.
Write down this knowledge first. I hope to go to the interview tomorrow instead of stopping, but continue ......
Result .. End.