TOPS Technologies offer Professional Software Testing Training in Ahmedabad.
Ahmedabad Office (C G Road)
903 Samedh Complex,
Next to Associated Petrol Pump,
CG Road,
Ahmedabad 380009.
http://www.tops-int.com/live-project-training-software-testing.html
Most experienced IT Training Institute in Ahmedabad known for providing software testing course as per Industry Standards and Requirement.
1. 1
Software Testing and Quality
Assurance Live Project Training
By TOPS Technologies..
http://www.tops-int.com/live-project-training-software-testing.html
3. QA, QC Testing
3
Testing is often confused with the processes of quality control and
quality assurance. Testing is the process of creating, implementing and
evaluating tests.
If you are shopping for a new television, you can call that process
"testing for the best TV for you"... it's kind of pretentious, but that is
what you're doing as you compare prices and features to find what
will work best for you.
Testing usually has a limited scope and duration – you're just looking
at TVs, and only in your town, you're not going to spend a year
shopping, are you?
http://www.tops-int.com/live-project-training-software-testing.html
4. 4
Quality control is a refinement of testing, involving the formal and
systematic use of testing and a precise definition of what quality
means for the purposes of the test.
You aren't just testing; you are testing and then doing something with
the results. Quality control is used for testing a product or output of a
process, with the test measuring the subject's ability to meet a certain
benchmark or threshold of quality.
The tests usually take the form of "does this product meet
requirement X?", and are often pass-fail. Testing -- and by extension
quality control -- is reactive; that is, you test to find deviations from a
standard. If you systematically employ a formal battery of tests on a
consistent schedule, you will be able to pass a product with fairly
stable quality.
http://www.tops-int.com/live-project-training-software-testing.html
5. 5
The shortcoming here is that this kind of testing does nothing to
improve the quality of output; as far as user-experience is concerned,
you're just running in place. Testing and quality control does nothing
to raise the level of quality beyond perhaps tweaking the standard to
"raise the bar".
Quality assurance goes beyond quality control to examine the
processes that create and shape the product: quality assurance looks
at the quality of output, as well as at the quality of the inputs.
QA Vs Testing
QA is traditionally responsible for the measurement and auditing of
the processes used to make a product.
http://www.tops-int.com/live-project-training-software-testing.html
6. 6
Not only is a Quality Assurance "team" not the same as a test team,
they shouldn't even exist in the same organization.
Quality Assurance evaluates or establishes processes, sets up
measurement programs to evaluate processes, and identifies
weaknesses in those processes so that the errors do not happen
again.
This includes analyzing the tools, metrics, and processes used by
Program Management (including specification processes),
Development and Testing. The industry has created laughable titles
like SQA Tester which make no sense to me. I looked at
monster.com recently for QA positions (I'm happy here, but I like to
know what's out there), and virtually every "QA" position is really a
testing position
http://www.tops-int.com/live-project-training-software-testing.html
7. Software Testing Types
7
Black Box testing
Black Box testing refers to the technique of testing a system with no
knowledge of the internals of the system.
Black Box testers do not have access to the source code and are
oblivious of the system architecture.
A Black Box tester typically interacts with a system through a user
interface by providing inputs and examining outputs without
knowing where and how the inputs were operated upon.
In Black Box testing, target software is exercised over a range of
inputs and the outputs are observed for correctness.
Advantages :
http://www.tops-int.com/live-project-training-software-testing.html
8. 8
Efficient Testing — Well suited and efficient for large code
segments or units.
Unbiased Testing — clearly separates user's perspective from
developer's perspective through separation of QA and
Development responsibilities.
Non intrusive — code access not required.
Easy to execute — can be scaled to large number of moderately
skilled testers with no knowledge of implementation, programming
language, operating systems or networks.
Disadvantages :
http://www.tops-int.com/live-project-training-software-testing.html
9. 9
Localized Testing — Limited code path coverage since only a limited
number of test inputs are actually tested.
Inefficient Test Authoring — without implementation information,
exhaustive input coverage would take forever and would require
tremendous resources.
Blind Coverage — cannot control targeting code segments or paths
which may be more error prone than others.
White Box Testing
White Box Testing refers to the technique of testing a system with
knowledge of the internals of the system. White Box testers have
access to the source code and are aware of the system
architecture.
http://www.tops-int.com/live-project-training-software-testing.html
10. 10
Advantages
Increased Effectiveness — Crosschecking design decisions and
assumptions against source code may outline a robust design, but
the implementation may not align with the design intent.
Full Code Pathway Capable — all the possible code pathways can
be tested including error handling, resource dependencies, and
additional internal code logic/flow.
Early Defect Identification — Analyzing source code and developing
tests based on the implementation details enables testers to find
programming errors quickly.
Reveal Hidden Code Flaws — access to source code improves
understanding and uncovering unintended hidden behavior of
program modules.
Disadvantages
http://www.tops-int.com/live-project-trainingsoftware-testing.html
11. 11
Difficult To Scale — requires intimate knowledge of target system,
testing tools and coding languages, and modeling. It suffers for
scalability of skilled and expert testers.
Difficult to Maintain — requires specialized tools such as source
code analyzers, debuggers, and fault injectors.
Cultural Stress — the demarcation between developer and testers
starts to blur which may become a cultural stress.
Highly Intrusive — requires code modification has been done using
interactive debuggers, or by actually changing the source code. This
may be adequate for small programs; however, it does not scale
well to larger applications. Not useful for networked or distributed
systems.
http://www.tops-int.com/live-project-training-software-testing.html
12. Difference between Black Box and White Box Testing
12
Synonyms for black - box include: behavioral, functional, opaque-
box, and closed-box.
Synonyms for white - box include: structural, glass-box and clearbox.
Generally black box testing will begin early in the software
development i.e. in requirement gathering phase itself. But for white
box testing approach one has to wait for the designing has to
complete.
We can use black testing strategy almost any size either it may be
small or large. But white box testing will be effective only for small
lines of codes or piece of codes.
In white box testing we can not test Performance of the application.
But in Black box testing we can do it.
http://www.tops-int.com/live-project-training-software-testing.html
13. Gray Box Testing
13
Gray Box Testing refers to the technique of testing a system with
limited knowledge of the internals of the system.
Advantages :
Offers Combined Benefits — Leverage strengths of both Black Box
and White Box testing wherever possible.
Non Intrusive — Gray Box does not rely on access to source code or
binaries. Instead, based on interface definition, functional
specifications, and application architecture.
Intelligent Test Authoring — Based on the limited information
available, a Gray Box tester can author intelligent test scenarios,
especially around data type handling, communication protocols and
exception handling.
http://www.tops-int.com/live-project-training-software-testing.html
14. 14
Unbiased Testing — The demarcation between testers and developer
is still maintained. The handoff is only around interface definitions and
documentation without access to source code or binaries.
Disadvantages
Partial Code Coverage — Since the source code or binaries are not
available, the ability to traverse code paths is still limited by the tests
deduced through available information. The coverage depends on the
tester authoring skills.
Defect Identification — Inherent to distributed application is the
difficulty associated in defect identification. Gray Box testing is still at
the mercy of how well systems throw exceptions and how well are
these exceptions propagated with a distributed Web Services
environment.
http://www.tops-int.com/live-project-training-software-testing.html
15. Testing Techniques
15
Black box testing techniques
Equivalence Partitioning.
Boundary Value Analysis.
Cause-Effect Graphing.
Error-Guessing.
Equivalence Partitioning
Equivalence partitioning is a software testing related technique with
the 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.
Following example of a function has the pass parameter "month" of a
date. The valid range for the month is 1 to 12, standing for January to
December. This valid range is called a partition. In this example there
are two further partitions of invalid ranges. The first invalid partition
would be <= 0 and the second invalid partition would be >= 13.
http://www.tops-int.com/live-project-training-software-testing.html
16. 16
........ -2 -1 0 1 ....................... 12 13 14 15 ...............
--------------------------------------------------------- invalid partition 1 valid partition invalid partition 2
It is sufficient to select one test case out of each partition to check
the behavior of the program.
The values within one partition are considered to be "equivalent".
Thus the number of test cases can be reduced considerably.
Equivalence partitioning is no stand alone method to determine test
cases. It has to be supplemented by boundary value analysis.
Boundary Value Analysis
Boundary value analysis is a software testing related technique to
http://www.tops-int.com/live-project-training-software-testing.html
17. 17
determine test cases covering known areas of frequent problems at
the boundaries of software component input ranges.
To set up boundary value analysis test cases you first have to
determine which boundaries you have at the interface of a software
component. This has to be done by applying the equivalence
partitioning technique. Boundary value analysis and equivalence
partitioning are inevitably linked together. For the example of the
month in a date you would have the following partitions:
......... -2 -1 0 1 ...................... 12 13 14 15 .....
-------------- --------------------------------------invalid partition 1 valid partition invalid partition 2
http://www.tops-int.com/live-project-training-software-testing.html
18. 18
Applying boundary value analysis you have to select now a test case
at each side of the boundary between two partitions.
The boundary value analysis can have 6 text cases: n, n-1, n+1 for the
upper limit and n, n-1, n+1 for the lower limit.
White-Box testing techniques
a. Statement coverage
b. Decision coverage
c. Condition coverage
d. Decision-condition coverage
e. Multiple condition coverage
f. Basis Path Testing
g. Loop testing
h. Data flow testing
http://www.tops-int.com/live-project-training-software-testing.html
19. Software Testing Check List
19
Sometimes testers get confused when they have assigned testing
task. They don't know from where they should start the testing.
Checklist covers the following points:
Step 1 - User Interface Testing (GUI Testing)
Step 2 - Functional Testing
Step 3 - Interface Testing
Step 4 - Compatibility Testing
Step 5 - Security Testing
Step 6 - Performance testing
http://www.tops-int.com/live-project-training-software-testing.html
20. Responsibilities of a Tester
20
a.
b.
c.
d.
e.
f.
g.
h.
i.
j.
Understand project requirements.
Develops and implements Test Plans that will address the testing
needs of functional, regression, integration and system testing.
Update Test Case document.
Conduct Testing including Smoke, Sanity, and Execute the Test
cases.
Update the Test Result document.
Attend the Regular client calls.
Log / File the defects in Defect tracking tool / Bug Report.
Verify defects.
Discuss doubts/queries with Development Team / Client.
Implements software quality assurance standards and processes.
http://www.tops-int.com/live-project-training-software-testing.html
21. Contact Us for Software Testing Training
21
Ahmedabad (C.G Road)
Ahmedabad (Maninagar)
Address :
903 Samedh Complex,
Next to Associated Petrol
Pump,
CG Road,
Ahmedabad 380009.
Address :
401 Amruta Arcade 4th Floor,
Maninagar Char Rasta,
Nr Rly Station
Maninagar.
Contact Us : 99747 55006
Contact Us : 99748 63333
http://www.tops-int.com/live-project-training-software-testing.html