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