testing help
testing help
Severity is the one which states how bad or critical the bug impacts the state? And
priority is the level which determines which bug needs to be fixed first.
Eg :-
Priority –
High
Normal
Low
Severity –
System Hang
Crash
Unit Testing This initial stage in testing normally carried out by the developer who wrote
the code and sometimes by a peer using the white box testing technique.
Integration Testing This stage is carried out in two modes ?viz?. as a complete package
or as a increment to the earlier package. Most of the time black box testing technique is
used. However, sometimes a combination of Black and White box testing is also used in
this stage.
System Testing In this stage the software is tested from all possible dimensions for all
intended purposes and platforms. In this stage Black box testing technique is normally
used.
User Acceptance Testing This testing stage carried out in order to get customer sign-off
of finished product. A 'pass' in this stage also ensures that the customer has accepted that
the software is ready for their use.
Regression testing is any type of software testing that seeks to uncover new errors, or
regressions, in existing functionality after changes have been made to the software, such
as functional enhancements, patches or configuration changes.
The intent of regression testing is to assure that a change, such as a bugfix, did not
introduce new bugs.[1] "One of the main reasons for regression testing is that it's often
extremely difficult for a programmer to figure out how a change in one part of the
software will echo in other parts of the software."[2]
Regression tests can be broadly categorized as functional tests or unit tests. Functional
tests exercise the complete program with various inputs. Unit tests exercise individual
functions, subroutines, or object methods. Both functional testing tools and unit testing
tools tend to be third party products that are not part of the compiler suite, and both tend
to be automated. Functional tests may be a scripted series of program inputs, possibly
even an automated mechanism for controlling mouse movements. Unit tests may be
separate functions within the code itself, or driver layer that links to the code without
altering the code being tested.
A test plan documents the strategy that will be used to verify and ensure that a product or
system meets its design specifications and other requirements. A test plan is usually
prepared by or with significant input from Test Engineers.
Test Matrics - Metrics means measurement. It play in important role in testing it helps in
monitoring the Health of the project/Apllication. The metrics ie measurement is their
form starting of the project ie how many test cases are their and how many are executed
and how many are fixed and how many bugs are left etc
Example Fixed test cases = Total no Of test cases are executed
Total no. of test cases
Test Matrix - Tester will write test matrix in test specification document which keep
track of testing flow testing type and test cases activities etc.
Ad Hoc Testing - Ad hoc testing is a commonly used term for software testing
performed without planning and documentation (but can be applied to early scientific
experimental studies).
The tests are intended to be run only once, unless a defect is discovered. Ad hoc testing is
a part of exploratory testing,[citation needed] being the least formal of test methods. In
this view, ad hoc testing has been criticized because it isn't structured, but this can also be
a strength: important things can be found quickly. It is performed with improvisation, the
tester seeks to find bugs with any means that seem appropriate. It contrasts to regression
testing that looks for a specific issue with detailed reproduction steps, and a clear
expected result. Ad hoc testing is most often used as a complement to other types of
testing.
Types Of Testing
Regression Testing - egression testing is any type of software testing that seeks
to uncover new errors, or regressions, in existing functionality after changes have
been made to the software, such as functional enhancements, patches or configuration
changes.
Load Testing
Load testing is the simplest form of performance testing. A load test is usually
conducted to understand the behavior of the application under a specific expected
load. This load can be the expected concurrent number of users on the application
performing a specific number of transactions within the set duration. This test will
give out the response times of all the important business critical transactions. If the
database, application server, etc. are also monitored, then this simple test can itself
point towards any bottlenecks in the application software.
Stress Testing
Stress testing is normally used to understand the upper limits of capacity within the
application This kind of test is done to determine the application's break point.
Usability Testing
Beta Testing - Beta testing is the testing conducted by the end user to check whether
the product behavior in customer environment is similar to its behavior in test
environment. External User acceptance testing.
Test suite
The most common term for a collection of test cases is a test suite. The test suite often
also contains more detailed instructions or goals for each collection of test cases. It
definitely contains a section where the tester identifies the system configuration used
during testing. A group of test cases may also contain prerequisite states or steps, and
descriptions of the following tests.
Equivalence Partitioning:
In this method the input domain data is divided into different equivalence data
classes. This method is typically used to reduce the total number of test cases to
a finite set of testable test cases, still covering maximum requirements.
In short it is the process of taking all possible test cases and placing them into
classes. One test value is picked from each class while testing.
E.g.: If you are testing for an input box accepting numbers from 1 to 1000 then
there is no use in writing thousand test cases for all 1000 valid input numbers plus
other test cases for invalid data.
Using equivalence partitioning method above test cases can be divided into three
sets of input data called as classes. Each test case is a representative of respective
class.
Equivalence partitioning is a black box testing technique with the following goal:
1.To reduce the number of test cases to a necessary minimum.
2.To select the right test cases to cover all possible scenarios.
So in above example we can divide our test cases into three equivalence classes of
some valid and invalid inputs.
Test cases for input box accepting numbers between 1 and 1000 using
Equivalence Partitioning:
1) One input data class with all valid inputs. Pick a single value from range 1 to
1000 as a valid test case. If you select other values between 1 and 1000 then result
is going to be same. So one test case for valid input data should be sufficient.
2) Input data class with all values below lower limit. I.e. any value below 1, as a
invalid input data test case.
3) Input data with any value greater than 1000 to represent third invalid input
class.
So using equivalence partitioning you have categorized all possible test cases into
three classes. Test cases with other values from any class should give you the
same result.
Test cases for input box accepting numbers between 1 and 1000 using
Boundary value analysis:
1) Test cases with test data exactly as the input boundaries of input domain i.e.
values 1 and 1000 in our case.
2) Test data with values just below the extreme edges of input domains i.e. values
0 and 999.
3) Test data with values just above the extreme edges of input domain i.e. values
2 and 1001.
Boundary value analysis is often called as a part of stress and negative testing.
Software Testing Life Cycle (STLC): Sspecifies the various stages of testing.
1.Requirements stage
a. Requirement Specification documents
b. Functional Specification documents
c. Use case Documents
d. Test Trace-ability Matrix for identifying Test Coverage
2.Test Plan
a. Test Scope, Test Environment
b. Different Test phase and Test Methodologies
c. Manual and Automation Testing
d. Defect Mgmt, Configuration Mgmt, Risk Mgmt. Etc
3.Test Design
a. Test Case preparation.
b. Test Traceability Matrix for identifying Test Cases
c. Test case reviews and Approval
4.Test Execution
a. Executing Test cases
b. Capture, review and analyze Test Results
5.Defect Tracking
a. Find the defect & tracking for its closure.
6.Bug Reporting
a. Report the defect on tool/Excels
7.Regression/retesting
Test Scenario :
Test scenario is like laying out plans for testing the product, environmental condition,
number of team members required, making test plans, making test cases and what all
features are to be tested for the product.
Test Case - Test case is a document which provides the steps to be executed which
has been planned earlier.
Test Execution
Configure Management
Verification means Testing the software correctly implements the specific function in
that phase.It performs each and every stage of SDLC.