-23- Code Complete Learning Software Quality Overview (The software-Quality Landscape)

    Software quality can be divided into two categories, external and internal. External software quality for users, including correct use, efficient, reliable, complete and adapt to the environment, accurate and robust. Software quality is the internal user does not care, only programmers before interest, including maintainability, flexibility, portability, reusability, readability, testability, understandability. Of course, the programmer is not only concerned about the quality of the interior, but also concerned about the external quality, which distinguish between inside and outside sometimes not so obvious, because the internal quality may affect the external quality. Note that listed some of these indicators have conflicts, such as sometimes the pursuit of efficiency, reliability might be worse.
    With these indicators, the next step is how to implement them. First, we set the target of quality control. Because some indicators of conflict, set goals to unify. Second, it is necessary to control the quality as an important task to do, from the very beginning to develop strategies. There may be guidelines, formal and informal review and so on. There is also a commonly used method to control the demand for change, policy enforcement inspection results, do some prototypes.
    There are many ways to find defects, design review, code review, prototypes, check code, unit testing, integration testing, system testing, beta testing and so on. A method which can find no more than 75% of the defect. In particular, we used the unit test, integration test, was found substantially only 30 to 35% of the defect. So in order to find more defects, we have to jointly use a variety of methods. Also note that each method may be biased towards a certain type of defects found, such as reading the code more defects discovered interfaces, functional test more control deficiencies found in the process.
    The earlier a defect is found, the lower the cost to fix it, so we have to find defects as early as possible. Thus guarantee the quality of the software project from the very beginning taken into account.
    The best way to improve efficiency is to minimize the time we rewrite the code, this may be due to changes in demand rewritten, redesigned, or debugging. These can not rely on programmers, but also need to have management, process controls. There is no certain method, you can continue to explore methods for their own team. Later chapters will speak at length about some of the elements mentioned in this one.
    同样附上Checklist:
Checklist: A Quality-Assurance Plan
 Have you identified specific quality characteristics that are important to your project?
 Have you made others aware of the project’s quality objectives?
 Have you differentiated between external and internal quality characteristics?
 Have you thought about the ways in which some characteristics may compete with or complement others?
 Does your project call for the use of several different error-detection techniques suited to finding several different kinds of errors?
 Does your project include a plan to take steps to assure software quality during each stage of software development?
 Is the quality measured in some way so that you can tell whether it’s improving or degrading?
 Does management understand that quality assurance incurs additional costs up front in order to save costs later?
Published 63 original articles · won praise 16 · views 30000 +

Guess you like

Origin blog.csdn.net/tyst08/article/details/7926864