Software Testing and Quality Assurance
eBook - ePub

Software Testing and Quality Assurance

Theory and Practice

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Software Testing and Quality Assurance

Theory and Practice

About this book

A superior primer on software testing and quality assurance, from integration to execution and automation

This important new work fills the pressing need for a user-friendly text that aims to provide software engineers, software quality professionals, software developers, and students with the fundamental developments in testing theory and common testing practices.

Software Testing and Quality Assurance: Theory and Practice equips readers with a solid understanding of:

  • Practices that support the production of quality software
  • Software testing techniques
  • Life-cycle models for requirements, defects, test cases, and test results
  • Process models for units, integration, system, and acceptance testing
  • How to build test teams, including recruiting and retaining test engineers
  • Quality Models, Capability Maturity Model, Testing Maturity Model, and Test Process Improvement Model

Expertly balancing theory with practice, and complemented with an abundance of pedagogical tools, including test questions, examples, teaching suggestions, and chapter summaries, this book is a valuable, self-contained tool for professionals and an ideal introductory text for courses in software testing, quality assurance, and software engineering.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Software Testing and Quality Assurance by Kshirasagar Naik,Priyadarshi Tripathy in PDF and/or ePUB format, as well as other popular books in Computer Science & Software Development. We have over one million books available in our catalogue for you to explore.

Information

CHAPTER 1
BASIC CONCEPTS AND PRELIMINARIES

Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics, i.e., it always increases.
— Norman Ralph Augustine

1.1 QUALITY REVOLUTION

People seek quality in every man-made artifact. Certainly, the concept of quality did not originate with software systems. Rather, the quality concept is likely to be as old as human endeavor to mass produce artifacts and objects of large size. In the past couple of decades a quality revolution, has been spreading fast throughout the world with the explosion of the Internet. Global competition, outsourcing, off-shoring, and increasing customer expectations have brought the concept of quality to the forefront. Developing quality products on tighter schedules is critical for a company to be successful in the new global economy. Traditionally, efforts to improve quality have centered around the end of the product development cycle by emphasizing the detection and correction of defects. On the contrary, the new approach to enhancing quality encompasses all phases of a product development process—from a requirements analysis to the final delivery of the product to the customer. Every step in the development process must be performed to the highest possible standard. An effective quality process must focus on [1]:
  • Paying much attention to customer’s requirements
  • Making efforts to continuously improve quality
  • Integrating measurement processes with product design and development
  • Pushing the quality concept down to the lowest level of the organization
  • Developing a system-level perspective with an emphasis on methodology and process
  • Eliminating waste through continuous improvement
A quality movement started in Japan during the 1940s and the 1950s by William Edwards Deming, Joseph M. Juran, and Kaoru Ishikawa. In circa 1947, W. Edwards Deming ā€œvisited India as well, then continued on to Japan, where he had been asked to join a statistical mission responsible for planning the 1951 Japanese censusā€ [2], p. 8. During his said visit to Japan, Deming invited statisticians for a dinner meeting and told them how important they were and what they could do for Japan [3]. In March 1950, he returned to Japan at the invitation of Managing Director Kenichi Koyanagi of the Union of Japanese Scientists and Engineers (JUSE) to teach a course to Japanese researchers, workers, executives, and engineers on statistical quality control (SQC) methods. Statistical quality control is a discipline based on measurements and statistics. Decisions are made and plans are developed based on the collection and evaluation of actual data in the form of metrics, rather than intuition and experience. The SQC methods use seven basic quality management tools: Pareto analysis, cause-and-effect diagram, flow chart, trend chart, histogram, scatter diagram, and control chart [2].
In July 1950, Deming gave an eight-day seminar based on the Shewhart methods of statistical quality control [4, 5] for Japanese engineers and executives. He introduced the plan–do–check–act (PDCA) cycle in the seminar, which he called the Shewhart cycle (Figure 1.1). The Shewhart cycle illustrates the following activity sequence: setting goals, assigning them to measurable milestones, and assessing the progress against those milestones. Deming’s 1950 lecture notes formed the basis for a series of seminars on SQC methods sponsored by the JUSE and provided the criteria for Japan’s famed Deming Prize. Deming’s work has stimulated several different kinds of industries, such as those for radios, transistors, cameras, binoculars, sewing machines, and automobiles.
fig2_01
Figure 1.1 Shewhart cycle.
Between circa 1950 and circa 1970, automobile industries in Japan, in particular Toyota Motor Corporation, came up with an innovative principle to compress the time period from customer order to banking payment, known as the ā€œlean principle.ā€ The objective was to minimize the consumption of resources that added no value to a product. The lean principle has been defined by the National Institute of Standards and Technology (NIST) Manufacturing Extension Partnership program [61] as ā€œa systematic approach to identifying and eliminating waste through continuous improvement, flowing the product at the pull of the customer in pursuit of perfection,ā€ p.1. It is commonly believed that lean principles were started in Japan by Taiichi Ohno of Toyota [7], but Henry Ford had been using parts of lean as early as circa 1920, as evidenced by the following quote (Henry Ford, 1926) [61], p.1:
One of the noteworthy accomplishments in keeping the price of Ford products low is the gradual shortening of the production cycle. The longer an article is in the process of manufacture and the more it is moved about, the greater is its ultimate cost.
This concept was popularized in the United States by a Massachusetts Institute of Technology (MIT) study of the movement from mass production toward production, as described in The Machine That Changed the World, by James P. Womack, Daniel T. Jones, and Daniel Roos, New York: Rawson and Associates, 1990. Lean thinking continues to spread to every country in the world, and leaders are adapting the principles beyond automobile manufacturing, to logistics and distribution, services, retail, health care, construction, maintenance, and software development [8].
Remark: Walter Andrew Shewhart was an American physicist, engineer, and statistician and is known as the father of statistical quality control. Shewhart worked at Bell Telephone Laboratories from its foundation in 1925 until his retirement in 1956 [9]. His work was summarized in his book Economic Control of Quality of Manufactured Product, published by McGraw-Hill in 1931. In 1938, his work came to the attention of physicist W. Edwards Deming, who developed some of Shewhart’s methodological proposals in Japan from 1950 onward and named his synthesis the Shewhart cycle.
In 1954, Joseph M. Juran of the United States proposed raising the level of quality management from the manufacturing units to the entire organization. He stressed the importance of systems thinking that begins with product requirement, design, prototype testing, proper equipment operations, and accurate process feedback. Juran’s seminar also became a part of the JUSE’s educational programs [10]. Juran spurred the move from SQC to TQC (total quality control) in Japan. This included companywide activities and education in quality control (QC), audits, quality circle, and promotion of quality management principles. The term TQC was coined by an American, Armand V. Feigenbaum, in his 1951 book Quality Control Principles, Practice and Administration. It was republished in 2004 [11]. By 1968, Kaoru Ishikawa, one of the fathers of TQC in Japan, had outlined, as shown in the following, the key elements of TQC management [12]:
  • Quality comes first, not short-term profits.
  • The customer comes first, not the producer.
  • Decisions are based on facts and data.
  • Management is participatory and respectful of all employees.
  • Management is driven by cross-functional committees covering product planning, product design, purchasing, manufacturing, sales, marketing, and distribution.
Remark: A quality circle is a volunteer group of workers, usually members of the same department, who meet regularly to discuss the problems and make presentations to management with their ideas to overcome them. Quality circles were started in Japan in 1962 by Kaoru Ishikawa as another method of improving quality. The movement in Japan was coordinated by the JUSE.
One of the innovative TQC methodologies developed in Japan is referred to as the Ishikawa or cause-and-effect diagram. Kaoru Ishikawa found from statistical data that dispersion in product quality came from four common causes, namely materials, machines, methods, and measurements, known as the 4 Ms (Figure 1.2). The bold horizontal arrow points to quality, whereas the diagonal arrows in Figure 1.2 are probable causes having an effect on the quality. Materials often differ when sources of supply or size requirements vary. Machines, or equipment, also function differently depending on variations in their parts, and they operate optimally for only part of the time. Methods, or processes, cause even greater variations due to lack of training and poor handwritten instructions. Finally, measurements also vary due to outdated equipme...

Table of contents

  1. Cover
  2. Table of Contents
  3. Title
  4. Copyright
  5. Dedication
  6. Preface
  7. List Of Figures
  8. List Of Tables
  9. CHAPTER 1: BASIC CONCEPTS AND PRELIMINARIES
  10. CHAPTER 2: THEORY OF PROGRAM TESTING
  11. CHAPTER 3: UNIT TESTING
  12. CHAPTER 4: CONTROL FLOW TESTING
  13. CHAPTER 5: DATA FLOW TESTING
  14. CHAPTER 6: DOMAIN TESTING
  15. CHAPTER 7: SYSTEM INTEGRATION TESTING
  16. CHAPTER 8: SYSTEM TEST CATEGORIES
  17. CHAPTER 9: FUNCTIONAL TESTING
  18. CHAPTER 10: TEST GENERATION FROM FSM MODELS
  19. CHAPTER 11: SYSTEM TEST DESIGN
  20. CHAPTER 12: SYSTEM TEST PLANNING AND AUTOMATION
  21. CHAPTER 13: SYSTEM TEST EXECUTION
  22. CHAPTER 14: ACCEPTANCE TESTING
  23. CHAPTER 15: SOFTWARE RELIABILITY
  24. CHAPTER 16: TEST TEAM ORGANIZATION
  25. CHAPTER 17: SOFTWARE QUALITY
  26. CHAPTER 18: MATURITY MODELS
  27. GLOSSARY
  28. Index
  29. End User License Agreement