Software Testing Unit - 1 PDF

Summary

This presentation discusses software testing, focusing on the unique challenges of software quality assurance (SQA) compared to other industries. It covers the complexities of software, invisibility issues, and limited opportunities for defect detection, highlighting the need for specific tools and methods. The material is relevant to students and professionals in software engineering.

Full Transcript

Software Testing Unit - 1 Part 1 The Software Quality Challenge Compiled by : Dr. Kalpesh Popat, Marwadi University, Rajkot. Topics  The uniqueness of software quality assurance.  The environments for which SQA methods are dev...

Software Testing Unit - 1 Part 1 The Software Quality Challenge Compiled by : Dr. Kalpesh Popat, Marwadi University, Rajkot. Topics  The uniqueness of software quality assurance.  The environments for which SQA methods are developed.  Main Characteristics of Environments. Case study  In February,1995; opening of the new Denver International Airport (DIA).  Planed; Serve 110,000,000 passengers/y with 1750 flights daily , 200 gates and 12 runways. Case study  Operations were delayed by 16 months.  Failure of Software-base baggage handing system. $ 2 billion The Difference of QA These differences can be categorized as follows: Product complexity -> No. of operational modes An industrial product, even an advanced machine, does not allow for more than a few thousand modes of operation, created by the combinations of its different machine settings. Looking at a typical software package one can find millions of software operation possibilities. The Difference of QA Product visibility. -> visible-easy to detect defect. Whereas the industrial products are visible, software products are invisible. Most of the defects in an industrial product can be detected during the manufacturing process. Moreover the absence of a part in an industrial product is, as a rule, highly visible (imagine a door missing from your new car). The Difference of QA Product development and production process. Phases at which the possibility of detecting defects in an Industrial Product :  Product development >>design , test product prototype  Product production planning >>design tools ,machines  Manufacturing >> At this phase QA procedures are applied to detect failures of products themselves. The Difference of QA In comparison to industrial products, software products do not benefit from the opportunities for detection of defects at all three phases of the production process. The only phase when defects can be detected is the development phase. The Difference of QA The fundamental difference between the development and production processes related to software products and those of other industrial products warrant the creation of a different SQA methodology for software. The need for special tools and methods for the software industry is reflected in the professional publications as well in special standards devoted to SQA, such as ISO 9000-3, “Guidelines for the application of ISO 9001 to the The Difference of QA Factors affecting defect detection in software products vs. other industrial products. Software product Characteristic Other industrial products Complexity Usually, very complex Degree of complexity product much lower, allowing at allowing for very large most a few thousand number operational options. Of operational options. Visibility of Invisible product, Visible product, product impossible allowing to detect defects or effective detection of omissions defects By sight(e.g. of a diskette By sight or CD storing the software) The Difference of QA Factors affecting defect detection in software products vs. other industrial products. Software product Characteristic Other industrial products Nature of Opportunities to detect Opportunities to detect development defects Defects a rise in all and arise in only one phase, phases of production Namely product Development and process development. production: Product development Product production planning Manufacturing The uniqueness of the software development process  High complexity, as compared to other industrial products.  Invisibility of the product.  Opportunities to detect defects(“bugs”) are limited to the product development phase. The uniqueness of software quality assurance  Assignment 1-1: Read the message of “LIMITED WARRANTY ”. The environments for which SQA methods are developed  Students develop software as part of their education.  Software amateurs develop software as a hobby.  Professionals in engineering, economics, management and other fields develop software to assist them in their work, to perform calculations , summarize research and survey activities, and so forth. The environments for which SQA methods are developed  Software development professionals (systems analysts and programmers) develop software products or firmware as a professional career objective while in the employment of software houses or by software development and maintenance units (teams, departments, etc.) of large and small industrial, financial and other organizations. Main Characteristics of Environments. 1. Contractual conditions.  A defined list of functional requirements.  The project budget.  The project timetable. Main Characteristics of Environments. 2. Subject to customer–supplier relationship. Throughout the process of software development and maintenance, activities are under the oversight of the customer. The project team has to cooperate continuously with the customer: to consider his request for changes, to discuss his criticisms about the various aspects of the project, and to get his approval for changes initiated by the development team. Such relationships do not usually exist when software is developed by non-software professionals. Main Characteristics of Environments. 3. Required teamwork  Timetable requirements.  The need for a variety of specializations in order to carry out the project.  The wish to benefit from professional mutual support and review for the enhancement of project quality. Main Characteristics of Environments. 4. Cooperation and coordination with other software teams.  Other software development teams in the same organization.  Hardware development teams in the same organization.  Software and hardware development teams of other suppliers.  Customer software and hardware development teams that take part in the project’s development. Main Characteristics of Environments. 5. Interfaces with other software systems.  Input interfaces, where other software systems transmit data to your software system.  Output interfaces, where your software system transmits processed data to other software systems.  Input and output interfaces to the machine’s control board, as in medical and laboratory control systems, metal processing equipment, etc. Figure 1.1: A cooperation and coordination scheme for a software development team of a large-scale project Figure 1.2: The salary software system an example of software interfaces Main Characteristics of Environments. 6. The need to continue carrying out a project despite team member changes.  It is quite common for team members to leave the team during the project development period, whether owing to promotions to higher level jobs, a switch in employers, transfers to another city, and so forth.  The team leader then has to replace the departing team member either by another employee or by a newly recruited employee.  No matter how much effort is invested in training the new team member, “the show must go on”, which means that the original project contract timetable will not change. Main Characteristics of Environments. 7. The need to continue carrying out software maintenance for an extended period.  Customers who develop or purchase a software system expect to continue utilizing it for a long period, usually for 5–10 years.  During the service period, the need for maintenance will eventually arise.  In most cases, the developer is required to supply these services directly.  Internal “customers”, in cases where the software has been developed in-house, share the same expectation regarding the software maintenance during the service period of the software system. Summary of the main characteristics of SQA environment 1.Being contracted 2. Subjection to customer–supplier relationship 3. Requirement for teamwork 4. Need for cooperation and coordination with other development teams 5. Need for interfaces with other software systems 6. Need to continue carrying out a project while the team changes 7. Need to continue maintaining the software system for years

Use Quizgecko on...
Browser
Browser