Assignment: 1
Course Title: Software Testing and Quality Assurance Submitted by: Paritosh Kumar(Reg No.:10904857) Roll no: B48
PART A
Q.1 Ans what are the building blocks of total quality management? What are the 7 QC tools?
TQM Building Blocks
Lets see the building blocks of TQM. They are, o Processes o People o Management Systems and o Performance measurement Strategic Quality planning: The purpose of Strategic Quality Planning is to develop and achieve the organization's vision in a manner that is consistent with its mission and values. SQP involves every member of the organization in developing a common understanding of:
The organization's customers and their needs and expectations How customer's expectations is measured How customer's needs are met through purposeful activity or systems the values, mission, and vision or desired future state of the organization The goals of the organization People People are a fundamental building block of any TQM organization. The only point at which true responsibility for quality can lie is with the people actually doing the job or carrying out the process. The complexity of most processes in an organization places them beyond the control of any one individual, so the only efficient way to tackle process improvement or re-design is through teamwork. Quality in Daily work Because of the time we have invested in awareness and skill training, many of the quality tools and concepts have become integrated into the way we do business, either transforming or reinforcing staff behaviors and attitudes. Continuous Improvement The Continuous Improvement component allows organizations to examine their current business environment relative to their diversity strategy and make changes based on current challenges in their workforce, workplace and marketplace. It extends current diversity learning through continued reinforcement. Seven QC tools are fundamental instruments to improve the quality of the product. They are used to analyze the production process, identify the major problems, control fluctuations of product quality, and provide solutions to avoid future defects. Statistical literacy is necessary to effectively use the seven QC tools. These tools use statistical techniques and knowledge to accumulate data and analyze them.
Seven QC tools are utilized to organize the collected data in a way that is easy to understand and analyze. Moreover, from using the seven QC tools, any specific problems in a process are identified.
Cause-and-effect diagram (also called Ishikawa or fishbone chart): Identifies many possible causes for an effect or problem and sorts ideas into useful categories. Check sheet: A structured, prepared form for collecting and analyzing data; a generic tool that can be adapted for a wide variety of purposes. Control charts: Graphs used to study how a process changes over time. Histogram: The most commonly used graph for showing frequency distributions, or how often each different value in a set of data occurs. Pareto chart: Shows on a bar graph which factors are more significant.
Scatter diagram: Graphs pairs of numerical data, one variable on each axis, to look for a relationship. Stratification: A technique that separates data gathered from a variety of sources so that patterns can be seen (some lists replace stratification with flowchart or run chart).
Q.2
what are five factors affecting software quality assurance? Write down the five effective methods to ensure the failure of software quality assurance?
Ans Project life cycle quality assurance activities are process oriented, in other words, linked to completion of a project phase. The quality assurance activities will be integrated into the development plan that implements one or more software development models the waterfall, prototyping, spiral, object-oriented or other models. Quality assurance planners for a project are required to determine the list of quality assurance activities needed for a project and for each quality assurance activity: Timing Type of quality assurance activity to be applied Who performs the activity and the resources required. It should be noted that various bodies may participate in the performance of quality assurance activities: development team and department staff members together with independent bodies such as external quality assurance team members or consultants Resources required for removal of defects and introduction of changes. The intensity of the quality assurance activities planned, indicated by the number of required activities, is affected by project and team factors Project factors: Magnitude of the project Technical complexity and difficulty Extent of reusable software components Severity of failure outcomes if the project fails The intensity of the quality assurance activities planned, indicated by the number of required activities, is affected by project and team factors Team factors: Professional qualification of the team members Team acquaintance with the project and its experience in the area Availability of staff members who can professionally support the team Familiarity with the team members, in other words the percentage of new staff members in the team
There are ways to ensure a project go fail and gradually you can get accustomed to it where no extra effort shall be required to do so. The top few ways can be listed as below: 1. Overlook troubles and hiccups in a project and thus find no ways out to recover through them. 2. Make no plans and if someone else does that effort, never take it seriously. It is not mandatory to adhere to the timelines marked in the plan. 3. No plans will also ensure no monitoring, follow ups, alerts etc. thereby making your life smooth and hiccups free. 4. Dont rely on your people or processes to make it successful. Dont let your team be guided in right direction to make a project successful. Also ensure no good processes in place to take people in right direction. 5. Never give a priority to your customer. Lead your products development in 180 degrees rather than in alignment of customer requirements.
Q.3 Ans
Explain how software quality assurance is ensured in a software firm.
Quality Assurance Processes Here are a few processes that you can implement to ensure the quality of your overall product, as well as the component parts: 1. Put it in the contract: Modern static analysis solutions provide vendors with a cost-effective, automated, and repeatable way to ensure the quality of software they create and ship. Because static testing produces results that are measureable, objective and repeatable, OEMs can require it as a contractual agreement with a third-party software provider. 2. Auditing mode: OEMs that purchase source code can reserve the right to analyze the supplier's code and report the results back. It could be implemented as part of the integration. This helps in multiple ways. First, the OEM has a way to measure the quality of what is received using the same measuring stick that it uses internally; second, providing recommendations and results of the analysis to the supplier gives the supplier an opportunity to fix the defects. 3. Expect a report indicating the quality of every software version received: A high-level report of the testing effort and quality should be necessary with every drop of software received. A report indicating that all bugs and defects are fixed may be an unrealistic expectation. However, if a report indicates untested parts or many defects that have not been reviewed, it serves as a strong signal that quality is not up to par. Additionally, a report can provide an indication of quality compared to industry averages.
PART B
Q.4 Ans Explain the seven basic quality control tools in detail.
The Seven Basic Quality Control Tools The Seven Basic QC (Quality Control) Tools are a given set of graphical techniques identified as being helpful in troubleshooting issues related to quality. These seven are called basic because they can be used easily by anyone to solve the vast majority of quality-related issues. Many quality professional believe these were originated by Dr. Ishikawa, a world renowned quality professional. But, he would tell you that he was inspired by the Seven Famous Weapons of Benkei. The designation as the Seven Basic Tools of Quality arose in postwar Japan. The Tools 1. Cause and Effect Diagrams: (Fishbone Diagrams, Ishikawa Diagrams)
These diagrams are tools that organize a group or persons knowledge about the causes of a problem or issue and display the information graphically.
It was originally created and used by Dr. Kaoru Ishikawa and is sometimes called an Ishikawa Diagram. Also, because of its shape it is called a Fishbone Diagram. In general what you do is brainstorm ideas (causes) then group them in to categories. Those categories become the many branches of the Cause and Effect diagram. 2. Check Sheets:
This is another simple but powerful tool. Check Sheets are lists of items and the frequency that the item occurs. They can be made in so many different ways that many times, we dont think of them as a list, but they are. below are two, one that kind of looks like a list the other not so much. On the shoe the defects are marked with an x in the location it was found.
They are often used to remind individuals doing complex tasks of what to do and in what order. They are also used many times in conjunction with other tools to help quantify or validate information. 3. Control Charts:
Control charts are the most difficult of the seven tools to use. They are seldom the method of choice. When a process step is important, we would prefer that the step not vary at all. ONLY when this cannot be accomplished in an economical way does one choose to use a control chart. Below is an XBar-R Chart also called an Average and Range Control Chart.
Control charts are only useful if the step (operation or function), over time, exhibits measurable random variation. Control charts display the data over time (Time is on the x axis above listed as sample). Control Limits (the red lines) are displayed on control charts, where data falling within the control limits are considered normal variation. Any point outside the control limits are considered special caused variation and need to be look at and corrected through an action plan. If you create a control chart, you must also have with it an action plan.
4.
Histograms:
Histograms are a picture of a set of data (or information). It is created by grouping the data you collect in to Cells or Bins (Bars in the chart below).
Histograms take your data and give it a shape (Distribution). With this, you can see the data sets spread, central tendencies, and if it meets requirements. As you can see, it is a valuable troubleshooting tool. You can take it a compare differences between machines, people, suppliers etc. Never use a histogram alone always also plots it in a time ordered plot (run chart). 5. Pareto Charts:
Pareto Charts are a specialized Histogram of count data. It arranges the Bins or Cells in largest to smallest counts and gives you an accumulation line as seen below.
The Pareto Chart gets its name from the use of the Pareto Principle which states 80% of the effect comes from 20% of the causes. Vilfredo Pareto, an Italian economist, originated this principle by determining that 80% of the land inItalyis owned by 20% of the population. Later it was found to hold true in many things and help us focus on the critical few. With a chart like this a team can decide where to place its priority and focus (the big hitters). This is extremely helpful when time and money is limited as it is in most cases. 6. Scatter Diagrams:
Scatter plot are a very simple tool to use to see if there is a correlation between two things (i.e. does one thing lead to another). I always before going into any major analysis of data, plot the data in some way to get a gut feel of what is happening. This tool lets you create a simple picture showing how two or more variables change together.
As one can see in the chart above the fruit on the tree increase in weight the longer it is on the tree. In scatter charts we see if one thing relates (correlates) with another. Below is a set of chart that shows some of the relationships you might find with this tool. 7. Stratification: (Flow Charts, Run Charts, etc.)
To me Stratification is a catch-all for summarizing, picturing, or applying some tool to data so you can understand what is happening. Stratification is the process of dividing members of a population into homogeneous subgroups before using it. The data (strata) should be mutually exclusive: every element in the population must be assigned to only one subgroup (stratum). The data should also be collectively exhaustive: no population element (data) can be excluded.
Q.5
Write down the different views of quality. Describe the three areas addressed by McCall model.
Ans Views of Quality: Quality is a multidimensional construct. It may therefore be considered using a polyhedron metaphor. Within this metaphor, a three-dimensional solid represents quality. Each face represents a different aspect of quality such as correctness, reliability, and efficiency. It has been classified
according to a number of views or perspective. These views are often diverse and may conflict with each other. Each view comes from a particular context. The views are generally presented in adversarial pairs such as versus designers. The software project has the following roles Project manager Business analyst Implementation programmer Quality auditor End user Line manager Project sponsor Views of Quality User What I Want Fast response Control information Easy to use help menus Available as required Exception data Reacts to business change Input data once Designer Good Specification technically correct Fits within systems structure Easy to maintain Difficult for user to manage Fast development Low maintenance well documents
In an attempt to classify different and conflicting views of quality, Garvin (1984) has suggested five different views of quality 1. The transcendent view Innate excellence Classical definition 2. The product-based view Higher the quality higher the cost Greater functionality Greater care in development 3. The user-based view Fitness for purpose Very hard to quantify 4. The manufacturing view Measures quality in terms of conformance Zero defects 5. The value-based view Provides the data with what the customer requires at a price. Quality is people: Quality is determined by people because
It is people and human organizations who have problems to be solved by computer software It is people who define the problems and specify the solutions It is still currently people who implement designs and product code. It is people who test code
The three areas addressed by McCalls model (1977) Product operation: requires that it can be learnt easily, operated efficiently And it results are those required by the users. Product revision: it is concerned with error correction and adaptation of the system and it is most costly part of software development. Product transition: it is an important application and it is distributed processing and the rapid rate of change in hardware is Likely to increase.
Q.6 Define McCalls quality criteria, How the quality criteria interrelated? Ans McCalls criteria of quality defined o Efficiency is concerned with the use of resources e.g. processor time, storage. It falls into two categories: execution efficiency and storage efficiency. o Usability is the ease of use of the software. o Integrity is the protection of the program from unauthorized access. o Correctness is the extent to which a program fulfils its specification. o Reliability is its ability not to fail. o Maintainability is the effort required to locate and fix a fault in the program within its operating environment. o Flexibility is the ease of making changes required by changes in the operating environment. o Testability is the ease of testing the programs, to ensure that it is error-free and meet its specification. o Portability is the effort required to transfer a program from one environment to another. o Reusability is the ease of refusing software in a different context. o Interoperability is the effort required to couple the system to another system.
HOW THE QUALITY CRITERIA INTERRELATE The individual measure of software quality provided does not provide an overall measure of software quality. The individual measures must be combined. The individual measures of quality may conflict with each other. Some of these relationships are described below;
Integrity vs. efficiency (inverse) the control of access to data or software requires additional code and processing leading to a longer runtime and additional storage requirement. Usability vs. efficiency (inverse) Improvements in the human / computer interface may significantly increase the amount of code and power required. Maintainability and testability vs. efficiency (inverse) Optimized and compact code is not easy to maintain. Portability vs. efficiency (inverse) the use of optimized software or system utilities will lead to decrease in probability. Flexibility, reusability and interoperability vs. efficiency (inverse) the generally required for a flexible system, the use if interface routines and the modularity desirable for reusability will all decrease efficiency. Flexibility and reusability vs. integrity (inverse) the general flexible data structures required for flexible and reusable software increase the security and protection problem. Interoperability vs. integrity (inverse) Coupled system allows more avenues of access to more and different users. Reusability vs. reliability (inverse) reusable software is required to be general: maintaining accuracy and error tolerance across all cases is difficult. Maintainability vs. flexibility (direct) maintainable code arises from code that is well structured. Maintainability vs. reusability (direct) well structured easily maintainable code is easier to reuse in other programs either as a library of routines or as code placed directly within another program. Portability vs. reusability (direct) portable code is likely to be free of environment-specific features. Correctness vs. efficiency (neutral) the correctness of code, i.e. its conformance to specification does not influence its efficiency.