Monday, June 15, 2009

Which test case should not be automated?

These types of

test cases should not be automated



  1. One Time testing. (Non Repeatable)
  2. Ad-hoc Testing (As soon As possible results required)
  3. Usability Testing.

Which test case should be automated?

Following
test case should be automated

  • Test case need to be run for every build of the application
    (Sanity Testing)
  • Test that use multiple data values for the same actions.
    (Data Driven Testing)
  • Critical Application functionality.
  • Business functionality which won’t be change in short time period.
  • Performance testing
    (Load & Stress)

What are disadvantages of automated testing tools?

Automated tools have following disadvantages.



Usability Testing:
Usability of software can not be automated so automated tools cannot rate the usability of an application.

Cost:

 Usually these are licensed so automated tools are quite expensive

Programming knowledge required:
 To customize test scripts according to test requirement.
Test maintenance is costly: In case of playback methods.
Even though a minor change occurs in the GUI, the test script has to be rerecorded or replaced by a new test script.

What-are-benefits-or-advantages-of-automated-testing?

 

Following are the benefits for using automated tools



Fast:
Human be slow but Automated Testing Tool runs tests significantly faster than human users.

Reliable:
Tests perform precisely the same operations each time they are run, thereby eliminating human error.

Repeatable:
You can test how the software reacts under repeated execution of the same operations.

Programmable:
You can program sophisticated tests that bring out hidden information from the application.

Reusability:
You can reuse the Automated Test scripts, user defined functions etc.

How-is-Statistical-Analysis-is-in-TPPM-Activity?

Statistical Analysis

  • Perform Problem Root Cause Analysis.
  • Mention root cause from different main cause categories
  • Identify different solution
  • Select best solution
  • Mention C&PA to avoid problem in future

How-is-Actual-Measurements-Entry- in-TPPM-Activity?

Take measurement of following

attributes/Variables and enter in Testing PPM


  • Actual size of code (LOC/AFPs)
  • Actual Defects Identified by each test case
  • Actual efforts expended to execute each test case

How-estimation-in-TPPM-(-testing-process-performance-model- activity?

In testing PPM first of all estimate following things step by step


  • Size of each Test Case (over all size and lenght of the every  test case is estimated)
  • Defects of each Test Case(defects of the test cases are estimated)
  • Efforts to execute each test case (Efforts are also are part of the estimates)

What-is-Testing-Process-Performance-Model-(TPPM)-activity?

Testing PPM activity

Testing PPM activity can be logically divided into following Sub-Activities.

  • Estimations-here estimations are done
  • Actual Measurement Entry - here we come with actual measures
  • Statistical Analysis - we are doing analysis for the estimations and measure in this activity

What-is-the-sequence-of-testing-process-performance-model-TPPM?

Sequence of TPPM


  • Testing Process Performance model is prepared for each Release testing activity of Project/Product .
  • After test designing of each release, TPPM estimation is completed.
  • While  test execution, TPPM is updated on daily basis or after some defined interval based on release test execution time.

What-is-testing-process-performance-model-or-TPPM?

Testing Process Performance Model


Testing Process Performance model is to predict the important attributes of testing process and monitor the efficiency and performance of testing process by tracking and analyzing the actual data.

What-is-use-of-process-performance-models-PPMs?

Use Of PPMs

Process Performance models are used to estimate the project activities for different critical sub processes which are important to achieve the project and business objectives.

Mainly PPM are to :

  • Predict
  • Track
  • Manipulate

What-are-PPM-(process-performance-models)?

PPM
Process Performance Models are used to estimate and predict results to be achieved by following a process.

There are following process performance models.

  • Effort Estimation Model
  • Defect Estimation Model
  • Time and Effort PPM
  • Release Management PPM
  • Patch Release PPM
  • Testing PPM

How analysis and reporting after data collection?

There are a few steps for analysis and reporting.
  • Periodically review the actual results
  • Apply quantitative and statistical techniques
  • Determine and document actions needed to address the deficiencies
  • The results of data analysis are reviewed with affected groups & individuals

  • Project Summary
  • Analysis Reports

How data is collected for metrics and measurements?

There are some ways for metrics and measurements for data
  • Measurements are collected as per their definition at defined points as mentioned in Organization Metrics File
  • Data is collected and compiled by using Project Summary, Help Desk, eRMS, Analysis Reports, Peer Review Analysis Reports etc
  • Verification of the measurement data is done independently to check completeness, integrity, accuracy by SQA & SEG for the data that they provide to each other
  • Once the data is collected will be assessed independently by QE
  • Project may consider additional metrics to better manage their project
  • Data should be available for use only by appropriate groups and personnel.

Sunday, June 14, 2009

What are the business objective of metrics and measurements?

These are business objectives

  • Project must be signed-off on time with maximum 15% schedule variance.
  • Estimation Accuracy (EA) of Effort, & Cost must be within 0.85 to 1.15.
  • 100 % of signed off requirements should be implemented in final delivery.
  • After system sign-off re-work effort on bugs must not exceed 5% of total effort on development per year.
  • At least 80% of resource and time utilization must be ensured for each resource.
  • Achieve at least 20% profit on average for each project.
  • Employee turnover should not be more than 8% during a year.
  • Exploration of two technologies during a year, and one of them must be used.
  • At least 90% of Critical/Major bug requests should be serviced as per agreement during a year (as per PM’s discretion that change request is Critical/Major).
  • At least 10% of the total leads should be materialized by Business Development during the year.
  • Employees satisfaction index (ESI)
  • Conduct at least one market survey per year

What are the business goals of metrics and measurements?

We may say that these are its main goals.

  • Continuously enhance the quality of our products & services
  • Increase customer satisfaction leading to repeat business
  • Attract, develop & retain competent & motivated resource base by ensuring highest level of employee satisfaction
  • Be ready to meet market expectations by being proactive and having in-depth understanding of market requirements
  • To be the world leader in providing - - - - software solutions
  • Become a preferred vendor of - - - - software solutions by strengthening customer base in existing markets and aggressively exploring new markets
  • To become a profitable organization

What are the attributes for effective software metrics?

 
Attributes effective software metrics

  • Simple and computable
  • Consistent and objective
  • Consistent in its use of units and dimensions
  • Programming language independent
  • An effective mechanism for high-quality feedback

What are the activities that are suggesting measurement principles?

Activities are

  • Formulation
  • Collection
  • Analysis
  • Interpretation
  • Feedback



Principles for Formulation

  • The objectives of measurement should be established before data collection begins.
  • Each technical metric should be defined in an unambiguous manner.
  • Metrics should be derived based on a theory that is valid for the domain of application.
  • Metrics should be tailored to best accommodate specific products and processes.
Principles for Collection and Analysis

  • Whenever possible, data collection and analysis should be automated.
  • Valid statistical techniques should be applied to establish relationships between internal product attributes and external quality characteristics.
  • Interpretative guidelines and recommendations should be established for each metric.

What is the relationship of Metrics and Measurement and Quality?

Here are the points to be noted

  • Software requirements are the foundation from which quality is measured. Lack of conformance to requirements is lack of quality.
  • Specified standards define a set of development criteria that guide the manner in which software is engineered. If the criteria are not followed, lack of quality will almost surely result.
  • There is a set of implicit requirements that often goes unmentioned (e.g., the desire for ease of use). If software conforms to its explicit requirements but fails to meet implicit requirements, software quality is suspect.

So there is relationship. As we have measurement correct we will have solid requirements and on that at the quality will be fine

How do ensure that Metrics and mesasurements are correct?

There are two things to do for ensuring that these are correct.

  • Establish the objectives of measurement before data collection begins, defining each technical metric in an unambiguous manner.
  • Define a few metrics and then use them to gain insight into the quality of a software engineering work product.

What are the main steps of metric and measurement?

Here are the main steps.

  • Derive the software measures and metrics that are appropriate for the representation of software.
  • Data required to derive the formulated metrics are collected.
  • Once computed, appropriate metrics are analyzed on pre-established guidelines and past data.
  • The results of the analysis are interpreted to gain insight into the quality of the software, and the results of the interpretation lead to modification of work products arising out of analysis, design, code, or test.

What is software metric?

Software Metric
Software metric is measure of some property of a piece of software or its specifications.

It provides with quantitative information to make the process better by analyzing that information.

Monday, April 27, 2009

What are fault types?

Fault Types
Business Logic B: e.g requirement etc
Functional and Logical F: faults related to functionality and logic.
Look and Feel L: faults related to GUI
Performance P:faults related to performance.
Recoverability R: faults related to recoverability.
Security S: faults related to security.
Replication RL:faults related to data replication

What are the fault (severity) severities?

There are three types

Fatal F: This type of fault may cause system crash, db crash etc
Major M: Field level violation, integration failure, some important functionality missing, or what make software functioning not proper etc
Minor M: These are usually cosmetic problems, short keys,fonts, tab sequences etc

What are test case types?

Test Case Types

Functional Test Cases:
Functional test cases are used to test screen level functionalities of the product. For field level validation, testers can either use GUI review checklist embedded within the test case or can develop separate field level validation test cases. Functional test cases along with field level test cases are executed before business test cases in order to test the functionalities of the individual screens thoroughly. Functional test cases are based on the FS as the primary source but can also be based on prototypes (if available) or the design document.
Field Validation Test Cases:
Field level test cases are developed using AF TOD to validate individual fields on a screen using a black box testing methodology. DB verification can also be the purpose of such test cases.
Business test cases:
Business test cases are used to test the business scenarios and require extensive knowledge of the requirements and business process flow of the application. Business test cases are normally based on RS and business flows as the primary source.

Performance test cases:
Performance test cases are developed to determine/measure the system performance under the particular workload. It serves to validate and verify resource usage with volume of data. Performance test cases are developed to measure and analyzed application response time at the following level
  • Application level
  • Database level

Recoverability test cases: Recovery test cases are developed to conduct reasonable test to ensure that the implemented security measures function properly and how well the software is able to recover from crashes, hardware failures and other similar problems
Security test cases:
Security Test cases are developed to determine that an Information system protects data and maintain functionality as intended. Following basic measures should be covered in security test cases
  • Confidentiality
  • Integrity
  • Authentication
  • Authorization

Replication test cases: Replication Test cases are developed to verify the replication of data across the software components & validate the Data Integrity, Consistency and accuracy.

What is sanity testing?

Sanity testing
Sanity testing is that type of testing in which after first time reporting of bugs and fixing it, before starting regression testing all the software is sane or got through an overview of all the functionality whether there are some ripple effects or not.

Thursday, April 16, 2009

What is the sequence of test execution?

first sanity /smoke testing

First of all smoke testing is done when release is handed over to Testing Team, when bugs reported are fixed and then sanity testing is done.

High risk/priority feature

After some testing or sanity testing high risk and high priority test is executed.

What are the basic needs of a test environment?

These are the basic entities for test environment

  • Hardware
  • software
  • Interfaces
  • data

What is staffing and training needs in a test plan?

Staffing and Training
This section of the test plan describes the number of people required and what skills they need to possess.

What are environmental needs in a test plan?

Environmental needs
Environmental needs include hardware, software, data, interfaces and other requirements that pertain to the testing effort.

What are testing tasks in test plan?

Testig Tasks
this part of testing plan identifies the set of tasks necessary to prepare for and perform testing.

What is test deliverables in test plan?

Test Deliverables
This is a listing of all the documents, tools and other components that to be developed and maintained in support of the testing effort.

What is suspension criteria and resumption requirements in test plan?

suspension criteria and resumption requirements
The purpose of this section of the test plan is to identify any conditions that warrant a temporary suspension of testing and the criteria for resumption.

What is 'approach' in test plan?

Approach in Test Plan
This section can be divided into a number of sub sections
  • Methodology
  • Configuration management
  • Metrics collection
  • Tools and Automation

What is 'item pass/ fail creteria' in test plan?

Item Pass /Fail criteria
This section of the test plan describes the pass/fail criteria for each of the items described in Test items.

Sample Pass/Fail criteria for System testing
  • 90% of the test cases must pass
  • All test cases dealing with critical functionality must pass
  • All medium and high severity defects must be fixed
  • Test coverage must be at least 90%

What are the 'features not to be tested' in test plan?

features Not to be Tested
This section of the test plan is used to record any features that will not be tested and why.

What are test items in test plan?

Test Items
This section of the test plan describes what is to be tested within the scope of this test plan.

What are the 'features to be tested' in test plan?

Features to be tested in Test Plan
This section of the test plan includes a listing of what will be tested from the user or customer point of view as opposed to test items, which are a measure of what to test from the viewpoint of supplier.

What is in introdcution of test plan?

Introduction
There are two main things to include in introduction section of test plan
  • Scope of the project
  • Scope of the plan

What are the contents in standard documention of software test plan?

IEEE Std 829-1998 Standard for Software Test Documentation for Test Plan includes

  • Test plan Identifier
  • Introduction
  • Test items
  • Features to be tested
  • Features not to be tested
  • Approach
  • Item pass/fail criteria
  • Suspension criteria and resumption requirements
  • Test Deliverables
  • Testing Tasks
  • Environmental Needs
  • Responsibilities
  • Staffing and Training needs
  • Schedule
  • Risk & contingencies
  • Approvals

What are the important areas of test planning?

Important areas of test planning

These are the main areas of test planning

  • Scope of testing
  • Testing Strategy
  • Schedule
  • Test Deliverables
  • Release Criteria
  • Risks and Contingencies

What are test different test planning at differebt stages of STLC?

Stages of test planning

Requirements -> Master/ Acceptance Test Plan

Design ->System Test Plan

Code -> Integration Test Plan

Implementation -> Unit Test Plan

What is test planning?

Test Planning
Test planning is a process that ultimately leads to document that allows all parties involved in the testing process to proactively decide what the important issues are in testing and how to best deal with them.

In test planning, even though the document is important, the process is ultimately more important than the document

Thursday, April 9, 2009

What are the phases for testing process?

Phases of testing process
Testing process can be divided into three phases

  1. Test Planning
  2. Test Design
  3. Test Execution

What is the standard for software testing according to software plan?

First there is Master Plan

which has Acceptance Test Plan,System Test Plan, Integration Test Plan, Unit Test Plan


System Test Plan has Test Design Specifications

Test Design Specifications have Test Cases

Test Cases are run by Test Procedure Specifications
1.Master Plan
1.1. Acceptance Test Plan
1.2. System Test Plan
1.3. Integration Test Plan
1.4. Unit Test Plan

1.2.1. Test Design Specifications

1.2.1.1.Test cases
1.2.1.1.1. Test Procedure Specifications

What is the standard for software testing documentation?

IEEE Std 829-1998 Standard for Software Test Documentation

Contents

1.Test Plan
2.Test Design Specification
3.Test Case Specification
4.Test Procedure Specification
5.Test Log
6.Test Incident Report
7.Test Summary Report

What are testing types?

Testing Types

  • Functional Testing
  • Regression Testing
  • Usability Testing
  • Compatibility Testing
  • Performance Testing
  • Security Testing
  • Volume Testing
  • Load Testing
  • Sanity Testing
  • Smoke Testing

What is system testing?

System Testing

System testing is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.

It includes following

  • Functional/ Regression Testing
  • Usability Testing
  • Compatibility Testing
  • Performance Testing
  • Security Testing etc

It is done by testers

What is exploratory testing?

Exploratory Testing
Exploratory testing is a term originally coined in 1998 by Cem Kaner in his book “Testing Computer Software”

  • In exploratory testing the test design and execution are conducted concurrently. The results of a test or group of tests will often prompt the tester to delve deeper into that area (i.e., explore)
  • In structured testing, testers often create many tests that don’t seem as useful during execution as they did during creation

What is adhoc testing?

Ad hoc Testing
Error guessing is an ad hoc approach, based on experience, to identify tests that are considered likely to expose errors.

Most ad hoc testers focus on the things that have failed in the past or things that they know are important or situations that are always problematic

Tuesday, April 7, 2009

What are state transition diagrams?

State Transition Diagram

A state machine is a thing (e.g., system, subsystem, component, unit) whose functionality and output is dependent not solely on its current path, but also on its past input

The result of its previous input is called its state, and transitions are commands that cause changes from one state to another

What are decision tables?

Decision Tables
Decision tables are tables that list all possible “conditions” (input) and all possible (outputs)

What is specifcation based testing?

Specification Based testing
In specification based testing, tests are designed against every claim made in reference documents, such as FS/design, requirements list etc

What is scenario based testing?

Scenario Based Testing
  • A scenario test is a test based on a scenario
  • A scenario is a story that describes a hypothetical situation. In testing, you check how the program copes with this hypothetical situation

What is white box testing?

White Box Testing
In white box testing, an input must still produce the correct result in order to pass, but now we are also concerned with whether or not the process worked correctly.

What is black box testing?

Black Box Testing:

Testing based on an analysis of the specification of a piece of software without reference to its internal workings

The system is treated as a “black box” and the internal working of the system are unknown

The system is given an input and if the output is what was expected, then the test passes

What are testing approaches?

There are three testing approaches

  • Horizontal Testing Approach

  • Vertical Testing Approach

  • Hybrid Testing Approach
  • What are testing levels?

    According to IEEE Std 829-1998, there are following four testing Levels



    • Unit Testing
    • Integration Testing
    • System Testing
    • User Acceptance Testing
    Unit Testing

    unit testing is a procedure used to validate that individual units of source code are working properly. A unit is the smallest testable part of an application.



    The goal of unit testing is to isolate each part of the program and show that the individual parts are correct.



    It is done by developers



    Integration Testing

    Integration testing is the phase of software testing in which individual software units are combined and tested as a group.



    System Testing

    System testing is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.



    It includes



    • Functional/ Regression Testing
    • Usability Testing
    • Compatibility Testing
    • Performance Testing
    • Security Testing etc


    Slide 17
    System testing is typically done by Testers




    User Acceptance Testing

    UAT is a process to obtain confirmation by a client that the system meets mutually agreed-upon requirements.



    Users of the system perform these tests, which are derived from Requirement Specification



    User Acceptance testing is typically done by End User

    What are software testing techniques?

    There are two major testing techniques

    • Functional Testing
    • Structural Testing

    What are testing methods?

    There are two main testing methods

    • Black Box
    • White Box

    What is software testing?

    • Testing is the process of executing a program or system with the intent of finding error [Myers, 1979]
    • Testing is any activity aimed at evaluating an attribute of a program or system. Testing is measurement of software quality [Hetzel, 1983]
    • The process of analyzing a software item to detect the differences between existing and required conditions and to evaluate the features of the software items (IEEE Std 829-1983)
    • Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirements.

    Friday, April 3, 2009

    What are contents of SCM (software configuration management)plan according to IEEE?

    IEEE Standard 828-1990 for SCM Plan

    1.Introduction
    2.SCM Management
    2.1 Organization
    2.2 SCM Responsibilities
    2.3 Applicable policies, directives and procedures
    3.SCM Activities
    3.1 Configuration identification
    3.1.1 Identifying configuration items
    3.1.2 Naming configuration items
    3.1.3 Acquiring configuration items
    3.2 Configuration control
    3.2.1 Requesting changes
    3.2.2 Evaluating changes
    3.2.3 Approving or disapproving changes
    3.2.4 Implementing changes

    Brief introduction of SCM tools,Intersolv PVCS Version Manager,Microsoft Visual SourceSafe,Tortoise SVN (Subversion),Rational Clearcase

    Intersolv PVCS Version Manager
    • One of the oldest PC-based version control products
    • Large installed base
    • A fairly rich feature set
    • Interfaces with other third party tools
    • Gateways to mainframe-based library management systems
    • Comprehensive security


    Microsoft Visual SourceSafe
    • Project support
    • File sharing
    • Intuitive GUI interface
    • Good repository architecture
    • Powerful security features
    • Tight integration with Microsoft development tools


    Tortoise SVN (Subversion)
    • Open source
    • Integrates in MS Windows shell
    • Plugins available
    • Web based access


    Rational Clearcase
    • VOB (Versioned Object Base)
    • Configuration Record
    • Build Avoidance
    • Unix/Windows Interoperability
    • Integration With Other Products

    What are SCM tools?

    Popular PC-based tools
    • PVCS
    • MS Visual SourceSafe
    • Subversion
    • Rational Clearcase
    Common Features
    • Support for controlling all types of files (source code as well as binary)
    • Managing changes as deltas
    • Supporting branching and merging
    • Identifying and re-creating releases
    • Providing a project view

    What is SCM plan?

    The SCM Plan is prepared in Project Initiation phase.

    It documents
    • What SCM activities are to be done
    • How they are to be done
    • Who is responsible for doing specific activities
    • When they are to happen
    • What resources are required

    How we organise SCM?

    For organizing SCM

    Roles:
    • Configuration manager
    • Change Control Board
    --includes representatives of
    ---user
    ---customer
    ---developer

    What is functional configuration audit?

    • It verifies that each CI in the product has been tested to determine that it satisfies the functions defined in the specifications or contract(s) for which it was developed.

    What is physical configuration audit?

    • Consists of determining that all items identified as being part of the configuration are present in the Product baseline
    • It must also establish that the correct version and revision of each part are included in the product baseline and that they correspond to information contained in the baseline’s configuration status report.

    What is configuration audit?

    A configuration audit establishes that product integrity has been maintained and that changes have taken place in an orderly and controlled manner

    • Audit of the SW product
    • Audit of SCM activities

    What is status accounting?

    Provides a mechanism for administrative tracking and reporting of all SW items identified and controlled.

    Examples of Status reports:
    • the status of proposed changes
    • the status of approved changes
    • the baselines and the approved changes associated with each baseline
    • the date when each revision of each CI was recorded
    • deficiencies identified by configuration audit

    What are the techniques for storing versions?

    • The set of differences between two versions is called a delta.
    • Full files
    --Complete files
    --Large storage space
    • Forward Delta files
    --Never need to modify existing library file data
    --All updates made by appending additional new data, in place, to the end of the file
    --Ensures that all versions of a file are available, but uses a minimum of disk space
    • Reverse Delta files
    --Saves only the latest version of a file as a full version
    --Other versions are saved as version deltas, reflecting only the differences between versions
    --Ensures that all versions of a file are available, but uses a minimum of disk space

    How many kinds or types of software libraries are there?

    These are of three kinds

    Dynamic library (programmer’s library)
    • programmer’s workspace
    Controlled library (master library)
    • used for managing the current baseline(s) and for controlling changes made to them
    Static library (software repository)
    • used to archive various baselines released for general use

    What are software libraries?

    • Software libraries provide the means for implementing SCM

    • The number and kind of libraries will vary from project to project . It depends on the levels of control needed.

    What is change control board(CCB)?

    CCB
    A group consisting of representatives of user, customer, producer.
    Responsibilities:
    • to approve, monitor and control baselines
    • to approve, monitor, and control changes
    • to authorise changes
    CCB concerns in change approval
    • technically ok solution, cost, schedule, configuration of the whole system, user satisfaction

    How does change management methodology works?

    The methodology is

    • Submission of Change Request (CR)
    • Technical and business evaluation and impact analysis
    • Approval by Change Control Board
    • Engineering Change Order (ECO) is generated stating
    • changes to be made
    • criteria for reviewing the changed CI
    • CI’s checked out
    • Changes made and reviewed
    • CI’s checked in

    Thursday, April 2, 2009

    what is confiuration control or CC?

    1. It enforces a rigorous change control mechanism

    2.It requires formal procedures to
    • request changes
    • carry out impact analysis
    • approve changes
    • carry out changes

    what is SCM terminolgy?

    Version
    • A SW CI having a defined set of functional capabilities.
    Revisions
    • Changes to a version to correct only errors in design logic but does not affect documented functional capabilities since none of the requirements have changed.
    Variants
    • A variation of a version developed to run on different types of HW, or to provide slightly different facilities for different users.
    Examples

    versions goes like that
    1.1->1.2->1.3->1.4

    variants (branching versions)

    1.1->1.2->1.3->1.4

    *1.3->1.3.1.1->1.3.1.2

    Merging

    • Two diverging versions may be merged to create a single new version combining both set of change requests.

    • Merge operations are typically done interactively with tool assistance

    Promotion of a CI
    • A CI may be promoted from one developmental baseline to another to signify a change in a CI’s internal development state.
    Release
    • A Release is used to designate certain promotions of CI’s that are distributed outside the development organization.

    what is the basic configuration identificaton information?

    These thing are the basics for CI

    • Item identity
    • Baseline to which it belongs
    • Relationships to other items
    • Version
    • Variant

    what is general about configuration identification?

    • Identify what the different baselines will consist of.
    • Set labeling and identification conventions for the CIs.

    Wednesday, April 1, 2009

    what are typical baselines at different phases?

    Phase Feasibility study ,Requirements definition
    Baseline Functional baseline
    Phase SRS, Interface specification
    Baseline Allocated baseline
    Phase Detailed design
    Baseline Design baseline
    Phase Source and Object code, User manuals, Test documents
    Baseline Product baseline
    Phase Installation
    Baseline Operational baseline

    what is baseline?

    Baseline is that collection of items which when complete indicates that a milestone in the development process has been reached.

    what is a mile stone?

    Milestone A milestone is the end of a stage or phase of a project at which one or more deliverables are actually delivered.

    what are typical software configuration items?

    These may be CIs

    • Management plans
    • Specifications (requirements, design)
    • User documentation
    • Test design, case and procedure specifications
    • Test data and test generation procedures
    • Data dictionaries and databases
    • Source code, executable code
    • Libraries
    • Maintenance documentation
    • Support software

    what is configuration item(CI)?

    Configuration item (CI) is an approved and accepted deliverable, changes done through formal change control procedures

    what is development item?

    Development item is an item which is not yet approved and can be informally changed

    what are SCM tasks?

    tasks are


    • Configuration identification
    • Configuration control
    • Status accounting
    • Configuration audit

    what are SCM functions?

    these are as folllows

    • Identification of software items and products
    • Definition of Baselines
    • Access controls
    • Progressing defect reports
    • Progressing change requests
    • Recording item status
    • Controlling releases (versions and variants)
    • Reporting

    what are the problems of change?

    First two things come to mind


    • Which component?
    • Which version?

    there may be
    • Double (or multiple) maintenance
    • Updates to shared data
    • Simultaneous update

    why products change or whats the reasons products change?

    Reasons may be

    • Requirements change during and after development
    • Errors are found and need correction
    • Variants are needed

    what are the causes of changes?

    There are two types of changes

    Evolutionary changes

    • The system evolves as it passes through various stages in the development cycle
    Revolutionary changes
    • Such change is caused by the system being unable to satisfy the user’s requirements or the customers or producers expectations

    what is Software Configuration management or SCM?

    The process of identifying, organizing, and controlling changes to the software during development and maintenance.

    • SCM is a support activity that makes technical and managerial activities more effective
    • SCM operates throughout the SW life-cycle

    what are auditing skills?

    if you are auditor then

    • Avoid leading, multiple, & trick questions
    • Listen intently
    • Be observant & take notes
    • Try to establish root cause of deficiencies
    • Actually witness & document objective evidence
    • Avoid giving advice
    • Remain calm, courteous, polite, professional & firm

    what are the types of audit?

    There are three types of audit
    First party Audits
    Second Party Audits
    Third Party Audits

    First Party Audits
    These audits are performed by the company (or a department within the company) upon itself
    Second Party Audits
    Its an audit of another organization’s quality program not under the direct control or within the organizational structure of the auditing organization
    usually performed by the customer upon its suppliers (or potential suppliers) to ascertain whether or not the supplier can meet existing or proposed contractual requirements
    Third Party Audits
    It is an assessment of an organization’s quality system conducted by an independent, outside auditor or team of auditors

    how audit is executed?

    Audits may be broken up into several small parts. There are two recognized ways to audit by segment:
    Vertical Audit
    • Audit individual areas of your organization for all applicable requirements
    Horizontal Audit
    • Audit all areas of the company using one or more processes or Elements of the standard

    Tuesday, March 31, 2009

    what about audit schedule?

    • Auditors keep a schedule
    • Keeps the audit on track and prevents auditors from getting too deep into details when it is unnecessary
    • The schedule is, however, a guideline
    • Auditors must be flexible and able to change the schedule if their original plan is not accurate
    • --Some things take less time than expected and others take more time than anticipated
    • Audits generally begin with an opening meeting to discuss the audit, and they end with a closing meeting to discuss the audit findings.
    • Audit findings are not secrets to be horded until the closing meeting. When an auditor believes he or she has identified a non-conformance, the auditee should be informed and allowed to provide additional information if possible

    Example schedule

    on one particular day e.g Monday 30th march,2007.

    • 8:00 - 8:30 Auditor Preparation
    • 8:30 - 9:00 Facility Tour
    • 9:00 - 9:30 Opening Meeting
    • 9:30 - 10:30 Management Review
    • 10:30 - 11:30 Control of Quality Records
    • 11:30 - 12:30 Working Lunch
    • 12:30 - 2:30 Product Realization
    • 2:30 - 4:30 Auditor Work Time
    • 4:30 - 5:00 Closing Meeting

    what is an audit plan?

    • A formal document
    • A blueprint used by auditors to ensure that the audit is completed properly
    • should be part of the Documented Procedure for performing Internal Audits
    The audit plan details a particular audit and includes:
    • The organization to be audited
    • Purpose and scope
    • Audit personnel
    • Activities to be audited
    • Organization/personnel that are to be audited
    • Applicable document/records
    • Audit checklist
    • Requirements for reporting results


    The audit plan (ISO 19011 6.4.1)

    • Audit objectives
    • Audit criteria and reference documents
    • Audit scope (includes units and processes to be audited)
    • Dates and places where on-site activities are conducted
    • Time and duration of on-site activities, including meetings
    • Roles and responsibilities of audit team members
    • Allocation of resources to critical areas
    • Identification of auditee’s representative
    • Audit report topics
    • Logistic arrangements
    • Matters related to confidentiality
    • Any follow-up actions

    what is there in audit planning?

    Audits are formal activities and should be carefully planned

    An Audit Plan defines
    • Agenda
    • Review Information
    • Date and Time
    • Work Hours
    • Distribution of Work

    Working documents needed to facilitate the audit
    • Forms for documenting objective evidence
    • Forms for documenting audit findings
    • Procedures to be followed
    • Checklist format
    • Meeting topics
    • Meeting record format

    what is the intent of an audit?

    • Audits verify the effectiveness of the Quality Management System.
    • Auditors do not audit people, only the Quality Management System.
    • Is the standard requirement being met?
    • Are the legal requirements being met?
    • An audit is not a test of how someone does his or her job.

    what are skills and communication for auditors?

    ISO 19011, a quality standard for auditors and audit programs defines the PERFECT auditor to be:
    Ethical
    • Open-minded
    • Diplomatic
    • Observant
    • Perceptive
    • Versatile
    • Tenacious
    • Decisive
    • Self-reliant

    what is not auditor's role?

    Auditors are NOT


    • Fault finders
    • Rock throwers
    • Nit-pickers
    • An interrogation taskforce
    • Dishonest

    what is auditor's role?

    • Look at the organization’s systems, procedures and records
    • --Determine if they are in conformance with their policy, procedures, agreed standard and appropriate standard and appropriate regulatory requirements.
    • Good auditor begins with the belief that the auditee is in conformance

    what are the main qualifcations of auditor?

    These qualifications must possess an auditor


    • Knowledge
    • Training
    • Independence
    • Communication skills

    what is the objective evidence?

    Qualitative or quantitative information, records, or statements of facts pertaining to the quality of an item or service or to the existence and implementation of a quality system element, which is based on observation, measurement or test and which can be verified.

    • Information, records, or statements of facts – must be based on evidence
    • Observation, measurement, or test which can be verified – again, must be based on tangible evidence.
    • Objective evidence may be obtained from an interview, but it must be substantiated by concurrence from one or more other people or by some kind of documentation.

    what is an observation in audit?

    • A statement of fact made during an audit by objective evidence.
    • An observation is the statement made by the auditor regarding information he or she sees or hears. It is part of the audit report and is usually presented as evidence in a finding.

    who is the auditee?

    • An organization to be audited.
    • The auditee is someone inside your organization during an internal audit

    who is the quality auditor?

    "A person who has the qualifications to perform audits."

    • Note: To perform a quality audit, the auditor must be authorized for that particular audit. An auditor designated to manage a quality audit is called a “Lead Auditor.”
    • You must understand the requirements of the quality standard.
    • You must have some introduction to auditing activities.

    what about internal audit?

    • Must be a planned activity and be documented.
    • Focused only on the quality system.
    • Must have specific requirements.
    • Frequency must be determined by management.
    • Must use objective evidence.
    • The extent of follow-up verification depends on the noncompliance
    • The degree to which a nonconformance or noncompliance affects the quality system determines the degree of follow up required.

    what is the purpose of an audits?

    Purpose of the audits

    • Audits aim to establish, by unbiased means, factual information on some aspect of performance
    • Audits are performed as a safeguard against a deterioration in standards
    • Audits are performed to establish facts rather than faults
    • Audits establish facts. They should never be directed toward an individual or group within the organization.

    what are the benefit of auditing QMS(quality management system)?

    There are a number of benefits

    • Assured of good business practices
    • Means of determining effectiveness of the QMS
    • Ensure customer & outside requirements met
    • Add discipline to QMS
    • Help identify opportunities for improvement
    • Audits and auditors perform service to a company. They are a way to establish information based on facts, not on suspicion, suggestion or assumption
    • They are a good way to keep an organization on top of the quality system, rather than letting the system ravel at the edges

    what is software audit?

    Software audit, is a type of software review in which one or more auditors who are not members of the software development organization conduct "An independent examination of a software product, software process, or set of software processes to assess compliance with specifications, standards, contractual agreements, or other criteria"

    what is quality audit?

    A systemic and independent examination to determine whether or not quality activities and related results comply with planned arrangements and whether these arrangements are implemented effectively and are suitable to achieve objectives.

    Explanation:


    Systematic – the entire system must be audited
    Independent – you can’t audit your own work
    Quality activities and related results – what you do and the results
    Comply with planned arrangements – meet your plans and the quality standard
    Implemented effectively and achieve objective – are you doing as planned, have you met your objectives?

    what are the most common test case review defects?

    • Incomplete Test Cases
    • Missing negative test cases
    • No Test Data
    • Inappropriate/Incorrect Test data
    • Incorrect Expected behavior
    • Grammatical errors
    • Typos
    • Inconsistent tense/voice
    • Incomplete results/number of test runs
    • Defect details not updated
    • Changes to requirements not updated in Test case

    what is the methodolgy of test cases review?

    Typically, reviews should be done during each phase in the Testing Life cycle

    The phases involved in Software testing lifecycle are

    • Requirements understanding
    • Test preparation
    • Test Execution
    • Test Reporting


    • During the Requirements Understanding phase, review of requirements is an activity that should be undertaken with utmost care and such review should be done systematically to ensure the clarity, correctness and testability of the requirements.
    • During the Test preparation phase, after the test scenarios are identified and test conditions and cases are built for each scenario, it is advisable to do a thorough and detailed review.
    • Checklist for Test cases review during the Test Preparation Phase
    • During the test execution phase, doing a review after the cases are executed is very important .
    • During the Test Reporting phase, it would help to ensure that all the required documents are prepared, metrics are collated and all the project specific formalities are completed.

    what is the importance of test cases review?

    some points are here

    • Test cases are written with the intent to detect the defects
    • Understanding of the requirement is correct
    • Impact areas are identified and brought under test
    • Test data is correct and represent every possible class of the domain
    • Positive and negative scenarios are covered
    • Expected behavior is documented correctly
    • Test coverage is adequate

    why a test cases review?

    • Software Testing plays a vital role in ensuring the quality of a Software product.
    • Test cases are the key tools for testing.
    • Test cases review has to be thorough in order to ensure that effective and adequate testing is done

    what is reviwed in design reviewed?

    • Is preliminary design conforms to the architecture
    • Is OOP principles followed
    • Is detailed design conforms to the preliminary design
    • Is all functional flows (defined in use cases) requirements are covered in the design
    • --All main scenarios, alternate and failure scenarios are supported by the application design and DB design
    • --Concurrency and Performance needs are catered
    • Is design implement-able and maintainable

    what is testability in specification content review?

    • Are all features testable
    • Are simulators supported if not testable

    what is modifiable in specification content review?

    • Are changes can be easily incorporated
    • Is maximum configuration provided
    • --Configurable Initialization Parameters
    • --Configurable Access Privileges
    • --Dynamic Reference Data

    what is traceable in specification content review?

    • Are all requirements can be uniquely identifiable
    • Are Requirement trace back to user need (source can be any document or person)

    what is Implement-able in specification content review?

    • Does all Requirements implement able and does not have any issue in implementation due to
    • --Technology/Tool constraint
    • --Dependency on External System
    • --Constraints mentioned in other requirements

    what is Unambiguous in specification content review?

    • Clearly stating the purpose
    • Not open for interpretations

    what is Consistent in specification content review?

    • Is same pattern followed for similar requirements and inter-function of same requirement
    • Are requirements complements other requirements
    • --No contradictions between characteristics of objects
    • --Logical or Temporal Conflicts
    • Consistency in terminologies used for objects

    what is correctness in specification content review?

    Is each functional requirement specify user action and as well as function, as appropriate. And Should be
    --Based on logic, industry standard, matches with similar functionality
    Are Cross Reference to other related requirements correct
    --provide required data or interface
    --provide valid data

    what is completeness in specification content review?

    • Are all Type of requirements covered e.g. Functional, Security, Performance, etc
    • Are User Requirements covered
    • --Are User different classes covered
    • --Are User characteristics described
    • Are derived requirements plus the implicit requirements included
    • Are business requirement or set of business requirement depicting the full flow of a business process or transaction.
    • --No open ended requirements
    • --No broken paths
    • Are Application Initialization and Configuration functionalities provided
    • Are Recovery and Backups mechanism provided
    • Are Operation Needs included

    Monday, March 30, 2009

    what is evaluated at specification content review?

    Following characteristic should be evaluated

    • Completeness
    • Correctness
    • Consistent
    • Unambiguous
    • Implement-able
    • Traceable
    • Modifiable
    • Testable

    how does document review?

    Following things are checked for document review

    Compliance with the Standard Template
    • Presence of all sections/sheets
    • Document Formatting as per template
    -Heading Styles
    -Font Size, Color and Style
    -Indentation
    Header and Footer Values
    -Understandability
    -TOC verification
    -Navigation between the Document
    -Spelling and Grammar
    -Naming Convention of the file

    How does the technical review conducted?

    Work Product Reviews:

    Reviewing any work product comprises of two parts

    Document Review

    --Quality Document Characteristics are evaluated.

    Specification Content Review


    --Work Items/Solution are evaluated.

    what is the effectiveness of reviews?

    There are different sayings of different people..


    • Walkthroughs found between 30 and 70 percent of errors in a program. (McConnell, 73)
    • Code reading found twice as many defects per hour of effort as testing. (McConnell, 74)
    • Inspections found 60-90% of defects in a program. (McConnell, 75)
    • Inspections produced a net schedule savings of 10-30%. (McConnell, 75)
    • An hour of inspection avoids 33 hours of maintenance; inspections are 20 times more efficient than testing. (McConnell, 75)
    • The introduction of inspections in software maintenance reduced production crashes by 77%. (Humphrey, 186)
    • Inspections increased productivity 14%-25%. (Humphrey, 186-187)
    • A study of 2019 user-found problems that resulted in code changes, found 57.7% of the problems could have been detected by design inspections, 62.7% with code inspections. (Humphrey, 187)
    • When programmers know their work will be critically examined, inspections motivate better work -- that is, developers take more pride in quality and avoid sloppy mistakes. (Humphrey, 171)
    • Reviews provide visibility into the state of the project. It provides an opportunity for discussion, intermediate milestones, and an assessment of the adequacy of some aspect of the project. (Christensen and Thayer, 291)

    what is the followup and exit for an inspection?

    • Moderator checks that all defects have been addressed (and all non-defect issues addressed if required).
    • Moderator must also ensure that any defects found in a source document during inspection are forwarded to the owner of that document for correction.
    • Moderator may calculate certain metrics in this stage to be analyzed to assess the effectiveness of an inspection.
    • May also be used to hold a meeting to evaluate and recommend inspection process improvement
    • An inspection will be exit when pre-defined set of inspection exit criteria have been satisfied.

    what is logging meeting for an inspection?

    • A planned and moderated meeting with the primary purpose of logging the issues found by the reviewers.
    • All reviewers should be given a chance to raise their issues as a scribe logs the issues being raised
    • It is important that an issue is only logged once.
    • Moderator should ensure that discussion about issues is kept to a minimum in order to maintain the continuity of the meeting.
    • Some variations of this process include group defect finding as an activity at the end of this meeting.

    what is individual checking of an inspection?

    • The final stage of preparation is individual checking (although it could also be considered the main stage of collection).
    • The majority of defects found in inspection processes are found in the individual checking stage.
    • During this stage an individual reviewer reads the artifact and with the guidance of an inspection checklist attempt to find defects in the artifact.
    • The reviewer should record any issues found.
    • The reviewer should also make some effort to determine what they consider the severity of a defect to be and classify the defect.

    what is done at kickoff meeting of an inspection?

    Following are the steps that are performed at this stage

    • Roles for the inspection team are assigned and clarified (generally the moderator does this).
    • Documents, including the artifact, its source document (e.g. SRS for Design), the inspection checklist, and inspection rules are distributed and checked (Defects in the source document and checklist are sometimes found in these meetings, however, this meeting should be kept short).
    • In some variations, the author(s) of the artifact may be required to give a quick walkthrough of the artifact to be inspected and its relation to the other documentation.

    what are main consideration while planning an inspection?

    The moderator determines the practical aspects of the inspection. This may include:

    • Determining the size and composition of the inspection team
    • Determining the goals of the inspection.
    • Determine the timing and purpose of the meetings.

    how does start for inspection?

    For start or entry for inspection

    • The author of the artifact requests that it be inspected.
    • The artifact to be inspected is checked by the inspection moderator to ensure that certain entry criteria are met.
    • The primary purpose of this stage is to ensure that inspection time is not wasted on artifacts that contain defects which the author should rightly have found.

    what are the main steps for inspection process?

    An inspection has five formal steps

    • Overview
    • Preparation, aided by statistics of fault types
    • Inspection
    • Rework
    • Follow-up

    what are the types of walkthroughs?

    Here are the types of walkthroughs

    Specification walkthroughs

    • System specification
    • Project planning
    • Requirements analysis
    Design walkthroughs
    • Preliminary design
    • Design
    Code walkthroughs

    Test walkthroughs
    • Test plan
    • Test procedure
    Maintenance reviews

    what are the main guidelines for a walkthrough?

    Following guidelines will help while conducting a walkthrough

    • First set an agenda and keep to it
    • Identify problem areas, but don't attempt to solve every problem
    • Limit the number of participants
    • Insist upon advance preparation
    • Train reviewers
    • Develop a checklist for each reviewable product

    what are the results after a walkthrough?

    At the end of the review, all attendees must decide whether to
    • --Accept the product without further modification
    • --Reject the product due to severe errors
    • --Accept the product provisionally
    All attendees complete a sign-off, indicating...
    • --Their participation in the review
    • --Concurrence with the review team's findings

    what are main things to be recorded in a walkthrough?

    Review issues list
    • Identify problem areas within the product
    • Action Item checklist for corrections to be made
    Review summary report
    • What was reviewed?
    • Who reviewed it?
    • What were the findings and conclusions?

    how does walk through conducted?

    • Coordinator chairs the meeting
    • Walkthrough structure
    • Author's overview?
    • --Reviewers should be able to understand the product without assistance
    • -Author's overview may "brainwash" reviewers into making the same logical errors as did the author
    • Author's detailed walkthrough
    • --Based on logical arguments of what the design or code will do at various stages
    • Requested specific test cases
    • Coordinator resolves disagreements when the team can not reach a consensus

    what are roles in a walk through?

    these are following roles

    • Coordinator: he/she is review leader
    • Author:he/she is producer
    • Reviewers: these are the actual reviewers
    • Recorder: this role records the review's main points

    how much time for preparation of a walkthrough?

    For advance preparation (no more than 2 hours) should be required of and performed by each reviewer

    this is a two step informal process

    • Preparation
    • Analysis

    how many persons should conduct a walk through?

    It could vary from 4 to 5 people maximum

    when should walkthrough schedule?

    Walkthroughs should be conducted frequently

    • Focuses on a specific and small piece of work.
    • Increases the likelihood of uncovering errors.
    • Scheduled only when the author is ready

    what are benefits of walkthroughs?

    There are a lot of benefits, some of them are

    • Consciousness-raising-Senior people get new ideas and insights from junior people.
    • Enables observation of different approaches to software analysis, design, and implementation
    • "Peer pressure" improves quality
    • Promotes backup and continuity-Reduces risk of discontinuity & "useless code" since several people become familiar with parts of software that they may not have otherwise seen

    Friday, March 27, 2009

    what are the objectives of walkthroughs?

    • Finding Errors:Uncover errors in function, logic, or implementation for any representation of the software
    • Look for weaknesses or errors of style
    • Verify that the software meets its requirements
    • Ensure that the software has been represented according to predefined standards
    • Make projects more manageable -achieve software that is developed in a uniform manner

    what is the importance of reviews?

    There are many reasons

    • Applying Quality Assurance from the start
    • Early Identification of defects and issues
    • Less Redo Effort
    • Ensures smooth execution of subsequent activities
    • Increases manageability of the development process
    • Team Synchronization
    • Process Improvement
    • Reliability on Project Plan

    where in SDLC reviews are performed?

    Various Reviews are applied during different phases of SDLC covering the following artifacts

    • Requirements Specifications
    • Functional Specifications
    • Architecture and Design
    • Code
    • Test Plan and Test Specifications

    1. Other then above reviews on going Reviews conducted for Activity Monitoring

    what are main roles in technical reviews?

    These are as follows.

    Moderator- this is Leader
    Author- this is Producer of the work product to be reviewed
    Reviewer-this is Inspector of the product
    Recorder-this Subscribes the reviews
    Observer- this observes the review

    what is management review?

    Management Review
    A review to determine the project status as it applies to project plans, schedules, budget, staffing, training, and so forth

    what is code reading?

    Code Reading
    A code walkthrough of two or more reviewers who read the code and report errors back to the developer.

    What about peer reviews?

    Peer Reviews
    A semi formal to formal evaluation technique in which software requirements, design, or code are examined in detail by a person or group other than the originator to detect faults, violations of development standards, and other problems.  The review members are peers (equals) of the designer or programmer or Tester

    How does Deskcheck?

    Deskcheck
    • Unlike an inspection, a deskcheck does not produce written logs which can be archived with the document for later reference.
    • Deskchecks can be used as predecessors to inspections.
    • --In many cases, having an author of a work product pass his work to a peer for an informal review will significantly reduce the amount of effort involved in the inspection.

    How we do formal and informal reviews?

    Formal reviews are performed by Inspection.

    Informal reviews are performed by Walkthrough

    what are informal main reviews?

    These are

    • Deskcheck
    • Peer Review
    • Code reading
    • Management reviews
    • Audits

    How many types of reviews?

    There are two main types of reviews

    • Formal Review
    • Informal Review

    what is the difference between static and dynamic testing?

    Static Testing:
    • Static testing is performed using the software documentation. The code is not executed during static testing.
    • Most verification techniques are static tests.

    Dynamic Testing:

    • Dynamic testing requires the code to be in an executable state to perform the tests.
    • Most validation test are dynamic tests

    What is the difference between verification and validation,V & V?

    Verification

    According to CMMI
    The purpose of Verification is to ensure that selected work products meet their specified requirements

    Validation

    According to CMMI
    The purpose of Validation is to demonstrate that a product or product component fulfills its intended use when placed in its intended environment

    More about V & V.

    Verification typically involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and inspection meetings.

    Validation typically involves actual testing and takes place after verifications are completed.

    • Both verification and validation use similar approaches i.e. reviews and testing

    • Both validation and verification activities often run concurrently and may use portions of the same environment.

    When reviews are needed? or What are the reasons for reviews?

    Reviews are necessary due to following reasons:


    • Reviews are useful not only for finding and eliminating defects, but also for gaining consensus among the project team, securing approval from stakeholders, and aiding in professional development for team members.
    • Reviews help teams find defects soon after they are injected making them cost less to fix than they would cost if they were found in test.
    • All work products in a software project should be either reviewed or tested.
     For Example :Software requirements specifications(SRS) Software Functional Specifications(SFS), schedules, design documents, code, test plans, test cases, and defect reports should all be reviewed.

    Wednesday, March 25, 2009

    Why review? or What is the worth of review?

     Worth of review::
                              Reviews provide a powerful way to improve quality by providing a means by which defects can be detected (and corrected) early in development.

    What is review?

    Review:
                A review is any activity in which a work product is distributed to reviewers who examine it and give feedback

    What is the purpose of software quality assurance or why sqa?

    The main purpose of the software quality assurance or sqa is
    • To monitor and improve the process.
    • To make sure that any agreed-upon standards and procedures are followed.
    • To ensure that problems are found and dealt with.

    Additional Benefits
    • SQA provides Improved Customer Satisfaction.
    • It has also Reduced Cost of Development.
    • Reduced Cost of Maintenance.

    What is Software Quality Assurance?

    Software Quality Assurance

    “A planned and systematic pattern of all actions necessary to provide adequate confidence that the item or product conforms to established technical requirements.”

    IEEE STD 610.12-1990

    SQA ensures
    • An application is error-free and there is no bug,
    • Dependable,
    • Fully documented,
    • Maintainable down the line,
    • Entirely functional according to every specification and requirement.
    • Make sure that ordinary people, regular users, will be able to do everything that the application is supposed to empower them to do.

    What is the difference between quality control(QC) and quality assurance(QA)?

    First of all we should know what QC and QA is
     
    Quality Control

    IEEE define QC as:

    A set of activities designed to evaluate the quality of developed or manufactured products.

    Quality Assurance

    IEEE define QA as:

    A set of activities designed to evaluate the process by which products are developed or manufactured

    QA
    • QA is all about Process,
    • It is Proactive approach
    • It is Staff function, all team is involved
    • It Prevents Defects from occurring
    QC
    • QC is related to Product only
    • It is Reactive approach
    • It is specific to Line Function
    • QC is for to Find Defects

     Examples
    QC Vs QA

    QA

    • Quality Audit is QA
    • Defining Process is also QA
    • Selection of tools it comes under QA
    • Training is QA activity
    • etc

    QC


    • Walkthrough is QC
    • Testing is also QC
    • Inspection is QC activity
    • Checkpoint review also in QC

    What are changing views about quality in past and present ?

    Quality in past vs quality in present


    Quality in past:
    • Quality is the responsibility of blue collar workers and direct labor employees working on the product
    • Quality defects should be hidden from the customers and management
    • Quality problem lead to blame, faulty justifications and excuses
    • Increased quality will increase project cost
    • Quality is internally focused


    Quality in present:
    • Quality is everyone's responsibility, including white-collar workers
    • Defects should be highlighted and brought to the surface for corrective action
    • Quality problems lead to co-operative solutions
    • Improved quality saves money and increases business
    • Quality is customer focused

    What are prevention, appraisal and failure costs?

    We can describe these costs as follows

    Prevention cost:
    •Quality planning
    •Formal technical reviews
    •Testing equipment
    •Training
    Appraisal cost:
    •In-process and inter-process inspection
    •Equipment calibration and maintenance
    •Testing
    Failure cost:
    Internal failure cost: rework, repair, and failure mode analysis
    External failure cost: complaint resolution, product return and replacement, help line support, warranty work

    What is cost of quality?

    Cost of Quality includes:

    • Includes all costs incurred in the pursuit of quality or perform quality related work.
    • It is more than 50% of the total project cost
    There are three types of cost
    Prevention cost: It is  incurred to prevent defects from occurring.
    Appraisal cost: It is  incurred for reviewing and testing the work product.
    Failure cost:It is the cost  incurred in correcting the defects found during appraisals or reported by the customer.

    Tuesday, March 24, 2009

    How can achieve high levels of software quality?

    High levels of quality are possible by following methods
    • Enterprise-wide quality programs
    • Quality awareness and training methods
    • Quality standards and guidelines
    • Quality analysis methods
    • Quality measurement methods
    • Defect prevention methods
    • Testing methods
    • User-satisfaction methods
    • Post release quality control

    What are six root causes of poor software quality?

    These are the causes
    • Inadequate training of managers and staff
    • Inadequate defect and cost measurement
    • Excessive schedule pressure
    • Insufficient defect removal
    • High complexity levels
    • Ambiguous and creeping requirements and design (feature race & gimmicks)

    • Inadequate training of managers and staff
    When training is not as the managers and staff needed then software may have lack of quality
    • Inadequate defect and cost measurement
    If defect and cost measurement is not according to the needs
    • Excessive schedule pressure
    If there is pressure for delivery of the software in short time.
    • Insufficient defect removal
    When defects are not fixed properly
    • High complexity levels
    When software is very complex then misunderstanding is one cause for the poor quality
    • Ambiguous and creeping requirements and design
    When there is ambiguity in requirements and also in design of the software

    What are six software defect origins?

    These are the defect origins
    • Requirements
    • Design
    • Source code
    • User manuals/training material
    • “Bad fixes” or mistakes made during repairs
    • Flawed test cases used by the application

    • Requirements
    There may ambiguous or unclear or unrelated requirements later which produce defects in the saoftware
    • Design
    If the design is not proper then it may arise the software defects
    • Source code
    The source code may not be proper or buggy against requirements
    • User manuals/Training material
    If the user manual or training materials are not according to business then defect can come in the software
    • “Bad fixes” or mistakes made during repairs
    If bugs reported are not fixed properly or when when repairing does not care for the ripple effects or dependency
    • Flawed test cases used by the application
    When test cases written for testing were not proper as per requirement of the software.

    Achieving Software Quality

    Definition:

    “For a software application to achieve high quality levels, it is necessary to begin upstream and ensure that intermediate deliverable s and work products are also of high quality levels. This means that the entire process of software development must itself be focused on quality”
    Capers Jones

    From above definition we can conclude that
    A high quality software only can be achieved when follow software quality assurance .Which says that start from the root and continue all the process till the end of development of a software. Monitor all the activities and fix the issue as it arises.

    Why we need quality?

    There may be several reason that why we need quality

    • Order qualifiers VS. Order winners... Just not qualify for order but win it

    • A competitive issue now... There is huge competition in the market

    • Must for survival... You can not survive if you don't provide quality to the customer

    • Gives you the global reach...If you are providing quality to the customer you will have global access for clients

    • Quality is cost effective... Quality makes the cost effective

    • Helps retain customers and increase profits... It gains customer attraction and you get more profit

    • The hallmark of world-class business... It is needed for world class business

    • Minimizes the risk of serious litigation... reduces risk of litigation

    • Minimizes the risk of serious operating failures and delays... Quality software or nay thing minimizes risk for failures and delays

    • Minimizes the risk of bankruptcy or business failures, which may be attributed directly to poor quality or poor software quality

    • For customer satisfaction

    What are five quality perspectives?

    These are the five quality perspectives

    • Development based: Confroms to requirements.
    while developing developers are concerned to conformance to requirements
    • Product based: Posses the desired features.
    In a product all the desired features are there in the product
    • User based: fit for use.
    User says quality is if it is fit to the user needs
    • Trancendent: I know it when i see it.
    I can get when i see it
    • Value based: Developed at an acceptable cost.
    This is the perspective that quality is that software is developed in economical budget.

    How many quality factors?

    There are 11 quality factors

    • Correctness:Extent to which a program satisfies its specifications and full fills the user's mission objectives.
    • Reliability: extent to which a program can be expected to perform its intended with required precision.
    • Efficiency: the amount of computing resources and code required by a program to perform a function.
    • Integrity: extent to which access to software or data by unauthorized persons can be controlled.
    • Usability: effort required learning, operating, preparing input and interpreting output of a program.
    • Maintainability: effort required locating and fixing an error in an operational program.
    • Testability: effort required testing a program to ensure that it performs its intended function.
    • Flexibility: effort required modifying an operational program.
    • Portability: effort required to transfer from one configuration to another.
    • Reusability: extent to which a program can be used in other applications related to the packaging and scope of the the functions that program performs.
    • Interoperability: effort required to couple one system with an other.

    what are quality attributes and quality factors?

    There are three types of quality attributes:
    1. Product Operations
    2. Product Revision
    3. Product Transition
    Quality factors are related to attributes which are:


    1.Product Operations:
    • Correctness: does it do what i want?
    Operation are correct and according to requirement.
    • Reliability: does it do accurately all the time?
    The operations performed, are all the time correct and mean if now is 1+2=3 all the time it should be 3.
    • Efficiency: will it run on my machine as well as it can?
    My program is efficient and it runs in same on all machines
    • Integrity: is it secure?
    My software is secure and it is not accessible to spamers
    • Usability: can i run it?
    My software is easy to use or user friendly.

    2.Product Revision:
    • Maintainability: can i fix it?
    Software can maintained easily.
    • Flexibility: can i change it?
    When needed can be changed.
    • Testability: can i test it?
    We can test it as it developed

    3.Product Transition:
    • Portability: will i be able to use on another machine?
    It means that our software can be run on windows as well as linux or per required
    • Reusability:will i be able to reuse some of the software?
    If we have developed a software then its components are reuse able can adjusted to other software or separately if needed.
    • Interoperability: will i be able to interface it with another machine?
    for example my software is running on windows, then can i work with system which is running on linux etc

    *I have explained for understandability of the reader

    How software quality can be achieved?

    Achievement of quality would be easy if we are doing the things
    • Apply software engineering methods in effective manner
    • Perform formal technical reviews as per required
    • Software metrics and measurements
    • By testing the software on the right time
    • SCM(Software Configuration Management) and SQA(Software Quality Assurance)
    • and by following standards and procedures.
    After doing the above steps you would be able to get a quality product

    what is software quality?

    There are two definitions by IEEE and ISO.

    According to IEEE
    • The degree to which a system, component, or process meets specified requirements
    • The degree to which a system, component, or process meets customer or user needs or expectations
    ISO says:
    • The totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs.

    Thursday, March 19, 2009

    What is quality?

    Quality
    Quality has a lot of definitions. But some famous definitions are


    1.It is not the “goodness” or “elegance” but “conformance to requirements".
    (Crosby)

    2.Fitness for use.
    (Juran)