Subscribe by Email


Showing posts with label Removal. Show all posts
Showing posts with label Removal. Show all posts

Friday, July 6, 2012

Describe the concept of phase containment?


In this article we have focussed on an important concept namely phase containment.

Process of Phase Containment


- The process of phase containment deals with the removal of the defects and bugs present in a software system or application while it is still under its SDLC or software development life cycle. - The process of phase containment prefers the early removal of the bugs and defects. 
- It is named so because this process is all about containing faults in one specific phase of the software development life cycle before they get enough time to escape out and affect the software development in the successive phases of the software development life cycle. 

"There are two types of error. One type of the errors are the one which were introduced in the preceding phase of software development and now have accumulated in the current phase and the second types of error are the one which have been introduced in the current phase of software development itself. But the former kinds of errors are called defects and not probably errors". 

- The concept of the phase containment is promoted whenever this concept is related to the organization’s profitability and cost.
- But in order to relate the concept with the organization’s cost and profitability, the identification of the errors and defects that escaped from the previous phases of the software development life cycle and found their place in the successive phases of the software development. 
- Another thing that is required is the determination of the average costs of the defects and errors that were caught in the later phases of software development. 
- It becomes difficult to sort out errors and faults once the software product is out in the market as proven by some research. 

Methodologies to gain control of software product


- So many technologies and methodologies have been developed today to gain control over the quality of the software product.
- They are:
  1. Static analysis: This activity involves the analyzation of the program code with the purpose of formatting the errors prevailing in the software system and specific coding.
  2. Unit testing: This activity involves the developer leveraging his/ her knowledge for breaking the program code.
  3. Code reviews: This activity involves taking the steps to ensure the security of the software system or application and better accountability.
  4. Code complete criteria: This step involves providing consistent hand off to the development team.

Metrics used in Phase Containment Process


- The phase containment process makes use of the phase containment metrics.
- These phase containment metrics serve the purpose of making sure whether the developers are on the track or this process is on the track i.e., the process whether is working as desired for the company and organization or not.
- Commonly three types of metrics that are used in the process of phase containment namely:
  1. Trailing metric: The purpose of this metric is to find out the downstream impact of the process of the phase containment.
  2. Adoption metric: This phase containment metric is intended for making sure that whether or not the software systems developers are adhering the to standards of the phase containment process.
  3. Effectiveness metric: This type of phase containment matrix is used to make sure that the phase containment process is working out well or not and how the developers are maintaining it.
This process of phase containment is used to make sure that the all the aspects of the quality assurance are incorporated in to all the phases of the software development life cycle process.


Monday, April 9, 2012

What are different aspects of error seeding?

There are so many issues associated with the so called bugs and errors! A good tester needs to be well aware about all the terms and issues associated with the errors and bugs.

Errors are the worst nightmare a tester and developer can get since an error might have a great potential to disrupt the functional of the whole of the software system or application and it may also introduce new error in a chain in to the program making it even more cumbersome to be tracked.

This article is focussed up on one of the terms associated with the errors and bugs namely “error seeding”.

You must be quite familiar with what is actual seeding?
Seeding is the process of sowing seeds that when grow up will become plants. Similarly from the term “error seeding” itself we can make out that it is the process of adding or sowing the faults in the software program intentionally so that the rate of detection and the removal of the error can be evaluated.

About Error Seeding



- One thing should be kept in mind which is that the errors to be injected in to the program must be known otherwise it will again become a problem for the tester.

- In many of the cases the error seeding methodology is employed to calculate the number of the errors that are still remaining in the program code.

- The error is intentionally injected in to the source code of the software system or application for the purpose of determination of the rate of discovery of the error which is very crucial for the software testing process.

- Knowing the rate of error detection can help a tester know what’s wrong with the testing methodologies he/ she is using and how they can be improved up on.

Uses of Error Seeding Method


Apart from just being used for the determination of the detection rate, this methodology is helpful in the below mentioned tasks also:

1. It is used to evaluate the skills of the tester of error finding.
2. It is used for the evaluation the ability of the application to survive the errors persisting in it
3. It is used to determine the ease with which the discovered bugs can be fixed up without blocking the work flow of the software system or application.

Advantages and Disadvantages of Error seeding



- Error seeding involves the seeding in of the errors and bugs.

- After the seeding of the errors, several test cases are executed and the ratio between the artificial errors and the actual errors is calculated based on the total number of errors that are detected.

- Normal test cases that are designed for any other error detection methodology can be used for error seeding.

- However the error seeding methodology is quite inefficient as compared to other methodologies like mutation testing. But, it takes lesser time to be completed and is very economical to be carried out.

- However inefficient it may be, it is always a better option of the programs with a lengthier source code. The defects that are injected in to the code have non trivial severity.

- The percentage of the seeded defects injected during the testing can bethought of as a reasonable predictor of the effectiveness of the methodology.


Sunday, March 20, 2011

Team Software Process (TSP) - TSP Quality Management

Team Software Process (TSP) shows teams how to manage quality, teams must establish quality measures, set quality goals, establish plans to meet these goals, measure progress against the plans, and take remedial action when the goals are not met.

ELEMENTS OF TSP QUALITY MANAGEMENT


- Preparing a quality plan.
- Identifying quality problems.
- Finding and preventing quality problems.

PREPARING A QUALITY PLAN
TSP make a quality plan based on the estimated size of the product and historical data on defect injection rates, they estimate how many defects they will inject in each phase. Once the engineers have estimated the defects to be injected, they estimate defect removal,again using historical data or the TSP quality guidelines which are based on the yield for each defect removal phase. Once the injection and
removal estimates have been made, the team can generate the quality plan.

IDENTIFYING QUALITY PROBLEMS
TSP provides many quality measures one of them being is by comparing the data for any module or component with the quality plan. TSP introduces a series of quality measures like: Process quality index—PQI.
- Percent defect free—PDF: Comparing the PDF curves for several similar projects. Where there are problems, the quality manager can look at data on lower level components to identify the source of the problem and recommend what the team should do about it. PDF plot can only be produced for an overall system or large component.
- Defect-removal profile: The defect-removal profile can be drawn for the system, each of its subsystems, any component, or even down to the module level.
- Quality Profile: The quality profile measures the process data for a module against the organization’s quality standards. The five quality profile dimensions indicate module quality based on data for design, design reviews, code reviews, compile defects, and unit test defects.
- Process quality index—PQI: is produced by taking the product of the five dimensional values of the quality profile to produce a single quality figure of merit. With PQI values above about 0.4, program modules are generally defect free.

FINDING AND PREVENTING QUALITY PROBLEMS
The TSP quality measures can indicate likely quality problems even before the first compile. Once the problems are identified, they can be prevented by:
- Monitor the module during test to see if problems are found and then determine the remedial action.
- Reinspect the module before integration or system test.
- Rework on the module to fix suspected problems.
- Redevelop the module.


Facebook activity