How to Reduce bugs

Source: Internet
Author: User
The common practice is to pass more unit tests. (Unit test) And Code Review So that we can find more problems in the development stage, thus reducing Bug Number. Indeed, developers often perform unit tests and have good testing and programming habits. Check-in Before, or each time Baseline Previously, the project team hadCode Cross Review , Peer or cross-level review, daily review of your code can greatly ensure the code quality, eliminating a large number Bug . However, it is often found that the majority Bug We use Unit Test And Code Review Cannot be found. Why?

 

1.First, the requirement is unclear. For example, the customer's original requirement for software deployment is the same as that for general software, and there is no specific requirement, later, when the project was deployed, more deployment needs were found, suchFailover, Parallel deploymentVista. These all bring about new problems and the amount of code modifications.

 

2.The second is the deviation of requirement understanding and design understanding. For example, an employee is not familiar with the insurance business and needs to develop the insurance business.ItIn the system, the features developed are often far different from the actual business needs. There are also some reasons for the deviation in understanding the requirements and design because of communication and lack of good communication. As a result, the customer's demands and user feedback are not listened, communication problems with customers lead to demand deviations, and software does not produce value to customers. The proportion of such bugs is very high.

 

3.AgainProgramLimitations on the capabilities of Members. For example, the Code has been carefully tested in unit tests and functions in the early stage. However, it is found that the operation efficiency is very low and the performance is poor, the reason is that programmers use languages they are not familiar with for development and have no experience in performance design. There is no performance consideration in development. How to ensure that a programmer has enough knowledge before entering a project developmentProgramming LanguageHave you mastered enough business knowledge? If these programmers receive technical and business training, they may avoid this problem.

 

4.Finally, there is no good R & D process, quality management system, and supporting tools. This is the biggest problem. How to find a suitable corporate culture and ProjectProcess?

 

In short, software development and programming is an intellectual activity, from acquiring needs, understanding needs, programming, coding (Data Structures +Algorithm) Unit testing, functional testing, and submission may result in any deviation in one step.Bug.

 

Of course, the strict test of the test group can ensure the quality of the software, but the problem is how to take the initiative to preventBug?

1.The technical skills and experience of programmers are very important, such as code design, good programming habits, good data structures and algorithms, compliance with programming specifications, and the release of resources at any time, avoid memory leaks, code that causes performance degradation, exception handling, and comprehensive maintenance, deployment, availability, performance, stability, and good documentation and comments habits. In addition, the adoption of new architectures, frameworks, or technologies (such as spring, Castle, and WCF) in projects will introduce more bugs and risks because programmers are not familiar with them.

 

2.The programmer's business accumulation and experience are very important, which greatly helps to understand and grasp the needs. This is critical. For example, if a programmer has worked on an old version of the Bank Liquidation System, he is not only familiar with the liquidation business process, but also knows the problems existing in the old system, and will take the initiative to prevent these problems and prepare for efficient implementation of the new system.

 

3. The test activities of the test group are not just to find out Bug The project development process must be standardized through testing to improve the quality of software products. The test is passed, Bug Are all changed, and the project is over? In fact, the test group can be summarized and analyzed. Bug The Cause and distribution. Bug list And the distribution chart are handed over to the development team and developers, which can be analyzed and found where developers often introduce Bug So as to avoid these problems in future development activities and achieve the accumulation of the project team. Actually possible 80% Of Bug Distributed in 20% From all aspects Bug Can summarize the root cause of the improvement.

Finally, as a provider of software products and services, only by truly understanding the customer's business and complying with the customer's needs can we provide products and services that satisfy the customer's needs. We should re-examine the technical solutions and products provided to users from the perspective of a user role, whether they are really concerned about the user and whether they have actually solved the user's problems. For customers, what is most valuable is not what technologies you master, but what problems you can help them solve and what value they generate. IBM implements OnDemand on-demand services, because in today's increasingly competitive market today, "change" is an essential survival rule. This change process requires the transformation of software companies to technicians, from flexible businesses to on-demand technologies, regardless of the customer's business and management processes and needs, technology is only the driving force and implementation tool for business transformation. The bug free (defect-free) software is actually a deep understanding of the business and needs, industry accumulation, and advanced technical strength, perfect quality management system and software development process.

 

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.