Let you know software development in advance (44): How to solve software faults?

Source: Internet
Author: User

Part 1 software R & D work summary

How to solve software faults?

 

In the operation and maintenance phase of software products, an important task of software engineers is to solve software bugs. When you are at school, you have completed a course and passed the test. However, in actual software development projects, the software is successfully delivered to the customer, but there is still a lot of work to be done in the future, for example: resolves software faults, new features, and version upgrades. As a qualified software engineer, you must learn to solve various problems in the software accurately and quickly.

Why is the ability to solve software problems so important? Because the success rate of software projects is not optimistic. A Chinese IT company tracked the success rate of software projects in the company for a long time, as shown in result 1.

Figure 1 software project success rate statistics

From figure 1, we can see that the success rate of software projects is very low, and most software projects will be completed over time or even fail. If a problem occurs, it must be solved in a timely manner.

1. software fault classification

Based on the severity of software faults, software faults are classified into the following three types:

(1) Serious Faults

Such faults may cause the software products to become unavailable and need to be resolved immediately.

If such a problem occurs, the software engineer must put down his work and try his best to solve the problem.

(2) general faults

Although such faults do not affect the normal use of software products, they may affect some functional processes and user experience.

If such a problem occurs, the software engineer needs to take time to deal with the problem without any shortage of tasks.

(3) minor faults

Such faults have almost no adverse impact on software products, and users rarely feel the existence of faults.

For companies that are pursuing high quality and good user reputation, such problems will be handled together with the upgrade of product features.

 

2. communication tools used to solve software faults

No matter what kind of software failure occurs, as a responsible software engineer, we should solve it in as short as possible, win praise for ourselves, and win reputation for the company.

Generally, the communication tools used to solve software faults include mobile phone/phone, instant messaging software (such as QQ and Skype), and email. The priority of the communication tool used is 2 based on different levels of software faults.

Figure 2 priority of communication tools used for different fault levels

(1) Serious software faults

At this time, the situation is urgent, and the software engineer needs to solve it in the first time, otherwise the software cannot run normally. At this time, it is obvious that mobile phones or telephones are the most effective communication tools. The personnel at the fault site will clearly describe the problem on the phone. The R & D personnel will evaluate the approximate location of the problem based on their description, and then modify the problem.

If you use instant messaging tools (such as QQ and Skype), typing may take some time, and it may take some time to clearly describe the problem. When the R & D engineers know the cause of the problem, they may be "thank you all" and the customer has complained to the relevant departments of the company. Mailbox is the best choice, because it is difficult to calm down and write an email in an emergency.

By the way, many large companies do not allow employees to install QQ Software on their office computers to prevent them from transmitting confidential information. Be sure to use the communication tools allowed by the company. Do not break the red line of information security.

(2) general software faults

At this time, the problem is not urgent, but it still needs to be resolved as soon as possible, otherwise it will become a serious software fault if it remains in existence for a long time.

With Instant Messaging Tools, R & D engineers can know the specific conditions of software operation and arrange work plans based on replies from field support personnel. At the same time, the on-site support staff sent the software running status and generated logs back through the mailbox, so that developers can easily find the crux of the program.

Software faults are mostly general problems that can be solved through instant messaging tools and email. Of course, if you want to learn more about software problems, you can also ask the on-site support staff by phone or phone.

(3) minor software faults

At this time, software problems are not enough to affect the functional process, which is a type that can be changed or not changed.

On-site support personnel can send the Problem description back via email, and developers will record it in a memorandum. If the software product has new features or optimizations next time, solve the Problems in the memorandum.

In actual software projects, you must flexibly select communication tools based on the actual situation. The purpose is to solve the problem as soon as possible.

 

3. Basis for solving software faults

In the process of solving software faults, the software engineer's reference includes: customer feedback problem description, Software Problem description reported by our technical support staff, and logs generated during program execution.

(1) customer feedback problem description

This is the initial source of software problems. Generally, the customer gives a general description of the problem, but does not describe the problem in detail.

Based on the customer feedback, the R & D personnel can roughly know where the software problem is. However, to locate the problem accurately, more detailed feedback is required.

(2) Description of software issues reported by technical support staff of the company

If a software problem occurs, the company usually sends technical support personnel to the site to help the customer solve the problem. They will describe software problems in detail and return these descriptions to R & D personnel through email and instant messaging tools for their reference during analysis.

Compared with customer feedback, the feedback from our technical support staff is more specific and useful for reference. R & D personnel should carefully analyze the information to eliminate unreasonable information.

(3) logs generated during Program Execution

This is the most important basis for finding problems. By analyzing logs, You can accurately locate the Code or the logic of the Code.

Before finding the cause of the problem, the R & D personnel must ask the on-site support personnel to save and send the logs when the software fails. In this way, you can read the code against the log, and find out the cause of most problems quickly.

 

4. Precautions for solving software faults

In the process of solving software faults, we need to pay attention to the following points:

(1) Whether through email to communicate with the site or through instant messaging tools, let your project manager know the content of the communication (remember to copy them to the email ). When a problem occurs, someone will share the responsibility with you.

(2) The solution provided by the R & D personnel must be provided to the site only after verification and cannot be used as a test site. If the solution is directly used without verification, unexpected consequences may occur, and even complaints from customers.

(3) when using the solution on site, be sure to cooperate with the site at any time to solve various unexpected situations during the process.

(4) After the solution is used on site, the on-site support personnel must send the software running status records and program logs back for inspection to ensure functional correctness.

 

Software problems are inevitable. What is important is that we must have a correct attitude and solve the problems in a timely manner. In addition, in our daily work, we should pay attention to the quality of the program code and eliminate bugs that may occur in the bud.

 

 

 

(My microblogging: http://weibo.com/zhouzxi? Topnav = 1 & WVR = 5, No.: 245924426, welcome !)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.