Thursday, July 21, 2011

Contents of Test Report

Software test report are in a document that describes out put of tested actions, or events, and the version/label, in order to determine if all features of an application are working correctly.

Test report templates contain all particulars like:
FRS version / unique reference
Functionality / Feature
Test case ID
Test Inputs
Test Steps
Expected Outputs
Test Result
Remarks / Observed outputs / comments
Developers Response on obtained output Also
Rounds of testing mentioning Label / Version no with Date, Tester Name & Effort taken

Contents of Test Plan / Test cases / Test Design

Software test cases are in a document that describes inputs, actions, or events, and their expected results, in order to determine if all features of an application are working correctly.

Test case templates contain all particulars of every test case:

Test case No
Test Case ID
Test Description
Test Precondition
Test Procedures/Steps
Test Case code
Expected Result
Remarks/Notes

All documents should be written to a standard and template. Standards and templates maintain document uniformity.

What is the ratio of developers and testers?

This ratio is not a fixed one, but depends on what phase of the software development life cycle the project is in.
When a product is first conceived, organized, and developed, this ratio tends to be 10:1, 5:1, or 3:1, i.e. heavily in favor of developers.
In sharp contrast, when the product is near the end of the software development life cycle, this ratio tends to be 1:1, or even 1:2, in favor of testers.

What is acceptance testing?

Acceptance testing is black box testing that gives the client/customer/project manager the opportunity to verify the system functionality and usability prior to the system being released to production. The acceptance test is the responsibility of the client/customer or project manager, however, it is conducted with the full support of the project team. The test team also works with the client/customer/project manager to develop the acceptance criteria.

What is boundary value analysis?

Boundary value analysis is a technique for test data selection. A test engineer chooses values that lie along data extremes. Boundary values include maximum, minimum, just inside boundaries, just outside boundaries, typical values, and error values. The expectation is that, if a systems works correctly for these extreme or special values, then it will work correctly for all values in between. An effective way to test code, is to exercise it at its natural boundaries

What is smoke testing?

A quick-and-dirty test that the major functions of a piece of software work without bothering with finer details. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire.

What is sanity testing?

Sanity testing is performed whenever cursory testing is sufficient to prove the application is functioning according to specifications. This level of testing is a subset of regression testing. It normally includes a set of core tests of basic functionality to demonstrate proper implementation

What is load testing?

Load testing is testing an application under heavy loads, such as the testing of a web site under a range of loads to determine at what point the system response time will degrade or fail
Load testing simulates the expected usage of a software program, by simulating multiple users that access the program's services concurrently. Load testing is most useful and most relevant for multi-user systems, client/server models, including web servers. For example, the load placed on the system is increased above normal usage patterns, in order to test the system's response at peak loads

What is performance testing?

Although performance testing is described as a part of system testing, it can be regarded as a distinct level of testing. Performance testing verifies loads, volumes and response times, as defined by requirements.

What is stress testing?

Stress testing is testing that investigates the behavior of software (and hardware) under extraordinary operating conditions. For example, when a web server is stress tested, testing aims to find out how many users can be on-line, at the same time, without crashing the server. Stress testing tests the stability of a given system or entity. It tests something beyond its normal operational capacity, in order to observe any negative results. For example, a web server is stress tested, using scripts, bots, and various denial of service tools

What is gamma testing?

Gamma testing is testing of software that has all the required features, but it did not go through all the in-house quality checks. Cynics tend to refer to software releases as "gamma testing".

What is beta testing ?

Beta testing is testing an application when development and testing are essentially completed and final bugs and problems need to be found before the final release. Beta testing is typically performed by end-users or others, not programmers, software engineers, or test engineers.

What is alpha testing ?

Alpha testing is testing of an application/project when development is nearing completion. Minor design changes can still be made as a result of alpha testing. Alpha testing is typically performed by a group that is independent of the design team, but still within the company, e.g. in-house software test engineers, or software QA engineers

What is regression testing?

The objective of regression testing is to ensure the software remains intact. A baseline set of data and scripts is maintained and executed to verify changes introduced during the release have not "undone" any previous code. Expected results from the baseline are compared to results of the software under test. All discrepancies are highlighted and accounted for, before testing proceeds to the next level

What is system testing?

System testing is black box testing, performed by the Test Team, and at the start of the system testing the complete system is configured in a controlled environment. The purpose of system testing is to validate an application's accuracy and completeness in performing the functions as designed. System testing simulates real life scenarios that occur in a "simulated real life" test environment and test all functions of the system that are required in real life. System testing is deemed complete when actual results and expected results are either in line or differences are explainable or acceptable, based on client input. Upon completion of integration testing, system testing is started. Before system testing, all unit and integration test results are reviewed by Software QA to ensure all problems have been resolved. For a higher level of testing it is important to understand unresolved problems that originate at unit and integration test levels.

What is black box / closed box testing?

Black box testing a type of testing that considers only externally visible behavior. Black box testing considers neither the code itself, nor the "inner workings" of the software

What is white box / clear box testing?

White box / Clear box testing is a testing approach that examines the application's program structure, and derives test cases from the application's program logic.

What is integration testing?

Integration testing is kind of black box testing done after Unit testing.
The purpose of integration testing is to ensure distinct components of the application still work in accordance to customer requirements after integrating the units.
Test cases are developed with the express purpose of exercising the interfaces between the components. Integration testing is considered complete, when actual results and expected results are either in line or differences are explainable/acceptable based on client input.

What is unit testing?

Unit Testing is a method of testing that verifies the individual
units of source code are working properly

Different testing approaches

Performance testing,
Install/uninstall testing,
Usability testing,
Recovery testing,
Security testing,
Compatibility testing,
Exploratory, ad-hoc testing,
User acceptance testing,
Comparison testing,
Alpha testing,
Beta testing, and
Mutation testing.
Black box testing,
White box testing,
Unit testing,
Incremental testing,
Integration testing,
Functional testing,
System testing,
End-to-end testing,
Sanity testing,
Regression testing,
Acceptance testing,
Load testing,

Test Goal and Estimation

Eight rules for estimating the testing are:

Rule 1: Estimation shall be always based on the software requirements
Rule 2: Estimation shall be based on the expert judgment
Rule 3: Estimation shall be based on the previous projects
Rule 4: Estimation shall be based on metrics
Rule 5: Estimation shall never forget the past
Rule 6: Estimation shall be recorded
Rule 7: Estimation shall be supported by tools.
Rule 8: Estimation shall always be verified

GOALS OF TESTING
Find cases where the program does not do what it is supposed to do.
Find cases where the program does things it is not supposed to do.

Responsibilities of Test Engineer

Assure the successful launch of product by discovering bugs and design flaws, before users get discouraged, before shareholders loose their cool and before employees get bogged down;
Help the work of development staff, so the development team can devote its time to build up product;
Promote continual improvement;
Provide documentation required by ISO, CMM, FDA, FAA, other regulatory agencies and requested by customers;
Save money by discovering defects 'early' in the design process, before failures occur in production, or in the field; Save the reputation of company by discovering bugs and design flaws;
Before bugs and design flaws damage the reputation of company.

What are responsibilities of Test Engineer?

The Test Engineer's function is to use the system much like real users would, find all the bugs, find ways to replicate the bugs, submit bug reports to the developers, and to provide feedback to the developers, i.e. tell them if they've achieved the desired level of quality

Enhancing this Test engineer should -
Create test cases, procedures, scripts and generate data.
Execute test procedures and scripts, analyze standards of measurements, evaluate results of system / integration / regression testing.
Also...
Speed up the work of the development staff;
Reduce organization's risk of legal liability;
Give you the evidence that software is correct and operates properly;
Improve problem tracking and reporting;
Maximize the value of software;
Maximize the value of the devices that use it;

What is a Testing / QA Team?

Depending on the organization, the following roles are more or less standard on most testing projects: Testers, Test Engineers, Test/QA Team Lead, Test/QA Manager, System / Database Administrator, Technical Analyst & Test Build / Configuration Manager

Mainly Testing Team comprised of

Test Engineer: Test Engineers are engineers who specialize in testing.

Test/QA Team Lead: The Test/QA Team Lead coordinates the testing activity, communicates testing status to management and manages the test team.
Test/QA Manager: QA Manager manages the testing activity, takes decisions by communicating with higher management and manages the Quality & Testing team.

What is software testing methodology?

Software testing methodology is the use a three step process of...

Creating a test strategy;
Creating a Test Plan / Test Cases / Test Design; and
Executing tests.
Defect Tracking
Test Audits


This methodology can be used and molded to organization's needs.

What is testing ?

Testing is a process that identifies the correctness, completeness, and quality of software.
It -
Proves the program is error free • Establish that the software performs its functions correctly • Establish with confidence that the software does its job fully

Monday, July 18, 2011

Sehwag The graet, Gavaskar, Kapil, Tendulkar are selected for All time word test team.

All Time XI(world):

Virender Sehwag
Sunil Gavaskar
Donald Bradman
Sachin Tendulkar
Brian Lara
Kapil Dev
Adam Gilchrist (wk)
Shane Warne
Wasim Akram
Curtly Ambrose
Glenn McGrath.