"Have you built a test environment?" How do you answer? What skills do you need to master?

Suddenly asked during the interview, many people feel a vacuum in their brains and don't know where to start.

The first point is that you don’t know the interviewer’s intention to ask this question?

Many people have never set up a test environment at all at work

I don't know where to start.

The interviewer's intention to ask this question is to see if you have actual combat experience, and hope that you are an excellent test engineer who can carry the project independently and build the test environment by yourself.

Moreover, the test environment of the entire project is not maintained by the software test engineer. If the later business needs to optimize the test environment or encounter problems, it must rely on operation and maintenance, which will cause the entire project to be delayed and work. May not be guaranteed! !

Need to master the knowledge

Knowing the importance of software testing engineers to build a testing environment, then what kind of knowledge and skills do they need to have these capabilities?

The first thing to know is what a test environment is! !

Test environment refers to the general term of computer hardware, software, network equipment, and historical data necessary to complete software testing. In short, the construction of the test environment relies on hardware + data preparation + test tools + software + network.

If we want to learn to build a test environment, and build the environment well, we must have these 5 kinds of knowledge.

So we will focus on these five points! Listen to me slowly!

1. Hardware

Hardware-related tests are related to computer systems, such as Windows (7, 8, 10) systems, Linux (centos 7) systems and Apple (mac os) systems.

The test environment can be deployed on any of the above systems, depending on the specific requirements of the currently tested software.

The system where the software runs will be more on the Windows system; however, the construction of related environments, such as the software backend hosting service, will generally be built on the Linux system.

So Linux system-related commands and operations are one of the necessary skills for software test engineers!

2. Software

Including the currently tested software and related dependent and interactive software.

The current deployment of the software under test, generally after the service is installed on the deployed Linux system, can be directly accessed through the web or APP on the front-end. As long as the back-end is deployed, the front-end operation is relatively simple;

The software that depends on and interacts is generally supported software, such as JDK, tomcat, database, etc.

You can open Tencent Classroom, search Fanmao Education, or ask our customer service staff to pick up related videos

Skills to be mastered

3. Network

This may be a blind spot for many test Xiaobai.

You can first learn some network knowledge that is closely related to building the environment, and then slowly understand it yourself.

Software test engineers need to plan and configure IP addresses, deploy routing and VLAN and other related configurations to achieve network isolation and communication, so that normal business tests can be carried out;

In addition, for some commonly used basic network protocols, such as TCP, HTTP, UDP, etc., it is best to have a basic understanding.

Of course, in addition to the above network equipment, we also need to know the basic network configuration for operating Linux.

1. System IP and routing configuration

2. Debug network communication problems, etc.

3. Linux system command packet capture

These all require a combination of Linux commands and basic network knowledge.

Four, testing tools

When you perform black box testing, you will use various tools instead of manual work to deepen the test;

When performing pressure and performance, it is even more necessary to use test tools to simulate high-concurrency, high-throughput, and high-continuity data.

Software testing engineers can choose tools that are easy to learn based on their personal development.

For example, to do interface testing, you can learn postman, jmeter;

You have to do stress and performance testing, you can learn the use of Loadrunner, Jmeter;

There are also some commonly used packet capture tools, such as fiddler, which must be learned.

In short, the tool is a good helper to assist the test, flexible use can make your test efficiency twice the result with half the effort.

Five, data preparation

Generally refers to the preparation of test data.

The test data will be designed in the stage of test case design, and then when the software is running, it will be used as software input to verify the software function.

If it is a small amount of normal test data, it can be directly simulated manually. If it is a simulation of a large amount of user data, it can be constructed with the help of test tools, which will be discussed in detail in the next test tools section.

Interview skills

So, before you grow into an all-round excellent test project, what should you do when asked by the interviewer?

Here, I can share with you some tips.

First of all, before going to the interview, first understand what type of company you are going to interview.

In fact, this is not just for this question, it should be for all interviews. You should first figure out the main job requirements and company business of the company you are going to interview, and prepare your own knowledge system and answer the direction in a targeted manner. , This is a tip for the interview.

Back to the issue of environment construction that we are going to discuss today, because different companies need you to have different ability to build a test environment.

If it is a traditional Windows software company, most of the test environment built is related to the system, which is the content required by the hardware part we mentioned above.

Then you need to make up for the relevant knowledge of the Linux system in advance;

To build such a test environment, it focuses more on Linux system knowledge, as well as the construction of related services and the use of various tools.

However, the idea of ​​first analyzing the company's type and business and preparing for the job requirements in advance is definitely profitable and harmless.

Of course, this analysis is only a rough summary, it is not absolutely correct and cannot cover all situations, so it is good for everyone to make a reference.

In addition, before the interview, everyone must do a good job of sorting out according to their existing work experience and knowledge system.

Most interviewers will ask you to describe the process of setting up a test environment based on your work experience. Then you need to combine your own knowledge reserves on the basis of actual project experience, and then target the organization language to cater to the current interview company. Claim.

It may be a little unclear to say that, let's look at a few specific examples.

Instance

Interviewer: So you can use Linux, right? Can you briefly describe the specific steps? What services do you generally install?

(He will pick out points of interest based on your description to ask you in detail, such as some specific knowledge details)

At this time, you need to answer specific details to test your true strength.

Of course, if you are not very clear about yourself, be sure not to face the difficulties, and guide the interviewer wisely to ask about your area of ​​expertise.

For example, "I am not too clear about this, but I have used another tool, which I am more familiar with"…

Interviewer: Will you build your own testing environment? Did you need to build your own test environment for company testing?

You: Our company used to build the test environment by the testers themselves, because this way the later support and maintenance will be more convenient, and the test work of the entire project can be carried out more independently.

(First of all, I answered the question in the affirmative, telling you that you will be able to build a test environment, and also expressed your belief that the tester will build a test environment necessary).

We generally prepare the environment according to the requirements when we get the test requirements.

Because my last company is a firewall company, it has its own equipment, as well as corresponding web applications and apps, so I will test these front-end applications and firewall equipment services at the same time.

(First, let’s focus on introducing the company’s business types and the products we have tested, so that we can talk about the key points of environment construction later. This place can be determined according to your actual situation).

So to prepare such a test environment, we will need to prepare two Linux servers to simulate the client and the back-end server respectively, build the test topology, and complete the network.

(Express that you have the basic network configuration capabilities)

Then we usually install the Linux system ourselves and prepare the corresponding services.

(Expressing the operation of the Linux system and the construction of common services is also OK)

Then we will use the client to simulate some user traffic, and also install some commonly used testing tools on Windows to simulate user data to test the product.

(Common testing tools are also no problem)

In this way, the initial test environment setup is basically completed.

Guess you like

Origin blog.csdn.net/newdreamIT/article/details/101695741