Software testing and quality assurance

22
Software Testing and Quality Assurance Live Project Training By TOPS Technologies.. http://www.tops-int.com/live-project-training-software- testing.html 1

description

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.

Transcript of Software testing and quality assurance

Page 1: Software testing and quality assurance

Software Testing and Quality Assurance Live Project Training

By TOPS Technologies..

http://www.tops-int.com/live-project-training-software-testing.html

1

Page 2: Software testing and quality assurance

2

Index

http://www.tops-int.com/live-project-training-software-testing.html

1. Software Testing2. Testing Types 3. Testing Techniques4. Software Testing Check List5. Responsibilities of a Tester

Page 3: Software testing and quality assurance

3

QA, QC Testing

http://www.tops-int.com/live-project-training-software-testing.html

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?

Page 4: Software testing and quality assurance

4

http://www.tops-int.com/live-project-training-software-testing.html

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.

Page 5: Software testing and quality assurance

5

http://www.tops-int.com/live-project-training-software-testing.html

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 TestingQA is traditionally responsible for the measurement and auditing of

the processes used to make a product.

Page 6: Software testing and quality assurance

6

http://www.tops-int.com/live-project-training-software-testing.html

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

Page 7: Software testing and quality assurance

7

Software Testing Types

http://www.tops-int.com/live-project-training-software-testing.html

Black Box testingBlack 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 :

Page 8: Software testing and quality assurance

8

http://www.tops-int.com/live-project-training-software-testing.html

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 :

Page 9: Software testing and quality assurance

9

http://www.tops-int.com/live-project-training-software-testing.html

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 TestingWhite 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.

Page 10: Software testing and quality assurance

http://www.tops-int.com/live-project-training-software-testing.html

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

Page 11: Software testing and quality assurance

11

http://www.tops-int.com/live-project-training-software-testing.html

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.

Page 12: Software testing and quality assurance

12

Difference between Black Box and White Box Testing

http://www.tops-int.com/live-project-training-software-testing.html

Synonyms for black - box include: behavioral, functional, opaque-box, and closed-box.

Synonyms for white - box include: structural, glass-box and clear-box.

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.

Page 13: Software testing and quality assurance

13

Gray Box Testing

http://www.tops-int.com/live-project-training-software-testing.html

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.

Page 14: Software testing and quality assurance

14

http://www.tops-int.com/live-project-training-software-testing.html

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.

DisadvantagesPartial 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.

Page 15: Software testing and quality assurance

15

Testing Techniques

http://www.tops-int.com/live-project-training-software-testing.html

Black box testing techniques Equivalence Partitioning.

Boundary Value Analysis.Cause-Effect Graphing.Error-Guessing.

Equivalence PartitioningEquivalence 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.

Page 16: Software testing and quality assurance

16

http://www.tops-int.com/live-project-training-software-testing.html

........ -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 AnalysisBoundary value analysis is a software testing related technique to

Page 17: Software testing and quality assurance

17

http://www.tops-int.com/live-project-training-software-testing.html

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

Page 18: Software testing and quality assurance

18

http://www.tops-int.com/live-project-training-software-testing.html

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 techniquesa. Statement coverageb. Decision coveragec. Condition coveraged. Decision-condition coveragee. Multiple condition coveragef. Basis Path Testingg. Loop testingh. Data flow testing

Page 19: Software testing and quality assurance

19

Software Testing Check List

http://www.tops-int.com/live-project-training-software-testing.html

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 TestingStep 3 - Interface TestingStep 4 - Compatibility TestingStep 5 - Security TestingStep 6 - Performance testing

Page 20: Software testing and quality assurance

20

Responsibilities of a Tester

http://www.tops-int.com/live-project-training-software-testing.html

a. Understand project requirements.b. Develops and implements Test Plans that will address the testing

needs of functional, regression, integration and system testing.c. Update Test Case document.d. Conduct Testing including Smoke, Sanity, and Execute the Test

cases.e. Update the Test Result document.f. Attend the Regular client calls.g. Log / File the defects in Defect tracking tool / Bug Report.h. Verify defects.i. Discuss doubts/queries with Development Team / Client.j. Implements software quality assurance standards and processes.

Page 21: Software testing and quality assurance

21

Ahmedabad (C.G Road) Ahmedabad (Maninagar)

http://www.tops-int.com/live-project-training-software-testing.html

Address :903 Samedh Complex,Next to Associated Petrol Pump,CG Road,Ahmedabad 380009.

Contact Us : 99747 55006

Address :401 Amruta Arcade 4th Floor,Maninagar Char Rasta, Nr Rly StationManinagar.

Contact Us : 99748 63333

Contact Us for Software Testing Training

Page 22: Software testing and quality assurance

http://www.tops-int.com/live-project-training-software-testing.html