Software Quality Control: A Japanese Perspective
I stumbled across an interesting book on software quality a couple days ago. The book's name is "The Hidden Realities of Computer Industry in Japan" (http://www.pro.or.jp/~fuji/mybooks/okite/index-eng.html) and it was published in 1995 (in Japanese). Despite its name and publication date, it actually depicts a lot of problems in Silicon Valley and the software industry in general today.
The idea of the book is simple - "Good programmers write good programs, bad programmers write bad programs. Buggy programs propagate bugs to other programs". In one chapter, the authors talks about his experience with a third-party package that his program depends on. His program stalled because the new release of the package has a bug which is obvious. He went on to report the bug to the vendor and the vendor did respond to him after some investigations. What's interesting is that the vendor asked him to continue investigating the bug that he had found because the vendor did not have any tool to instrument the error. This sounds absurd but such cases do recur in a lot of software companies. The reason is simple: The test department performs functional / performance / load testing with an in-house solution which does not reflect the actual usage by customers. Often times, test cases are written by developers and testers who focus on the quality of individual component of a system. This is dangerous because the quality of a software is solely judged by customer satifaction. Therefore, it is important to develop test cases based on REAL customer usage. The best way I find so far is to involve the professional services department, ask them to give a few fairly-complex customer cases, and develop a holistic set of test cases on those.
The book was originally written in Japanese and it was translated to English by a friend of the author. It may not be the best translated work you have read, but the author's sarcastic way of looking at the computer industry will definitely keep you reading until your eyes can't open.
The idea of the book is simple - "Good programmers write good programs, bad programmers write bad programs. Buggy programs propagate bugs to other programs". In one chapter, the authors talks about his experience with a third-party package that his program depends on. His program stalled because the new release of the package has a bug which is obvious. He went on to report the bug to the vendor and the vendor did respond to him after some investigations. What's interesting is that the vendor asked him to continue investigating the bug that he had found because the vendor did not have any tool to instrument the error. This sounds absurd but such cases do recur in a lot of software companies. The reason is simple: The test department performs functional / performance / load testing with an in-house solution which does not reflect the actual usage by customers. Often times, test cases are written by developers and testers who focus on the quality of individual component of a system. This is dangerous because the quality of a software is solely judged by customer satifaction. Therefore, it is important to develop test cases based on REAL customer usage. The best way I find so far is to involve the professional services department, ask them to give a few fairly-complex customer cases, and develop a holistic set of test cases on those.
The book was originally written in Japanese and it was translated to English by a friend of the author. It may not be the best translated work you have read, but the author's sarcastic way of looking at the computer industry will definitely keep you reading until your eyes can't open.
Labels: Programming, Software Engineer, Testing
1 Comments:
Welcome to the blog world :)
Yes im a true believer of writing tests based on feedback from PS.
Post a Comment
<< Home