TAILIEUCHUNG - Software Engineering For Students: A Programming Approach Part 31
Software Engineering For Students: A Programming Approach Part 31. This fully revised version of Doug Bell's Software Engineering: A Programming Approach continues to use the successful formula of the previous editions. The author's approach is to present the main principles, techniques and tools used in software engineering, one by one, chapter by chapter. This book is a unique introduction to software engineering for all students of computer science and its related disciplines. It is also ideal for practitioners wishing to remain current with new developments in the area | 278 Chapter 19 Testing made considerably easier. Various approaches are explained in Chapter 24 on incremental development. Discussion We have seen that exhaustive testing is infeasible. Therefore complete testing is impossible and whatever testing methods are used they can never ensure that the software is free from bugs. Thus testing is a poor technique but until formal verification becomes widely applicable it is a vital technique. However much we test our programs using all our skill and intuition we can never be sure that we have eradicated all the faults. The situation is well summed up by one of computing s gurus Dijkstra in his famous remark Testing can only show the presence of bugs never their absence. This has been anonymously rephrased as Just because you have never seen a mermaid doesn t mean that they don t exist. It can be reassuring to adopt the view that a test that reveals no bugs is a successful test. But rather we should look upon such a test as unsuccessful It is difficult to get accurate data on the number of bugs present in production software because unsurprisingly organizations do not want to reveal this kind of information. The indications are that there are typically between 2 and 50 bugs per 1 000 lines of source code in commercial production software. A figure like this is more properly called a fault density. It measures the number of known faults per 1 000 lines of code LOC . A figure of 2 is considered to be most creditable. Ways of measuring this quantity are explained in Chapter 29 on metrics and quality assurance. The trouble is of course that bugs always surface at the worst possible time for example when you are demonstrating the completed software to the client. This phenomenon has long been known to students of reliability who quote Murphy s laws 1. If a system can fail it will 2. and at the worst possible moment. Another more objective observation is that some bugs create serious faults while others lie dormant and do .
đang nạp các trang xem trước