0% found this document useful (0 votes)
51 views

Software Testing: Presented By: Priyanka Kulkarni Himanshu Markam Pradeep Bhardwaj

The document provides information on software testing methods like black box testing. It discusses test design techniques for black box testing such as equivalence partitioning, boundary value analysis, state transition testing, decision table testing, cause-effect diagram and error guessing. The advantages of black box testing include testing from the user's perspective without knowledge of internal implementation. Disadvantages include only testing a small number of possible inputs due to time constraints. Exploratory testing is also discussed as simultaneous learning, test design and execution without pre-defined scripts.

Uploaded by

Raunak Roy
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

Software Testing: Presented By: Priyanka Kulkarni Himanshu Markam Pradeep Bhardwaj

The document provides information on software testing methods like black box testing. It discusses test design techniques for black box testing such as equivalence partitioning, boundary value analysis, state transition testing, decision table testing, cause-effect diagram and error guessing. The advantages of black box testing include testing from the user's perspective without knowledge of internal implementation. Disadvantages include only testing a small number of possible inputs due to time constraints. Exploratory testing is also discussed as simultaneous learning, test design and execution without pre-defined scripts.

Uploaded by

Raunak Roy
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 46

Software Testing

Presented By: Priyanka Kulkarni Himanshu Markam Pradeep Bhardwaj

Learning Objectives

What is Testing
Testing Methods

Black box testing


Test Design Technique Testing Types Advantages Disadvantages

Software Testing
Definition:
Software Testing is the process of exercising S/W with the intent of ensuring that the S/W meets its requirements and user expectations and does not fail in an unacceptable manner.

Methods:
1. White box Testing 2. Black box Testing 3. Grey box Testing

V-V Model

Testing Types
Functional Testing
Ad Hoc Testing Exploratory Testing Acceptance Testing

Alpha Testing
Beta Testing Integration Testing Performance Testing Load Testing Stress Testing Regression Testing

Black Box Testing

It is Basic technique of Software testing.


Testing without knowledge of internal working. Testing of a system considering inputs,outputs and general functions.

Test Design Technique


Black box test design techniques include:
1. Equivalence partitioning

2. Boundary value analysis


3. State transition tables 4. Decision table testing 5. Cause Effect Diagram 6. Error Guessing

Equivalence Partitioning -:
Equivalence partitioning is a class of object having equivalent property. It is a software testing related technique with the goal: To reduce the number of test cases to a necessary minimum.

Types of Equivalence Classes:


1. Continuous 2. Discrete 3. Boolean

Boundary Value Analysis:


Data Selection Technique. Test maximum, minimum, error value, abnormal value. For example text field which is accept only 1 to 10 number then we can test this text field with the data 0, 1, 10, 11.

State Transition Testing :

Designed to execute valid and invalid state transitions.

Decision Table testing :

A decision table lists causes and effects in a matrix. Each column represents a unique combination. Purpose is to structure logic.

Structure -: Decision tables are typically divided into four quadrants

Causes Effects

Combination Effect Entries

Cause Effect Diagram:

A technique for identifying possible causes affecting a problem.


They are sometimes called Fishbone Diagrams (because of they have the appearance of the skeleton of a fish) or Ishikawa diagrams (after their developer Dr. Dr. Kaoru Ishikawa)

Error Guessing :
Test cases can be developed based upon the intuition and experience of the Test Engineer. Purpose is to focus the testing activity on areas that have not been handled by the other more formal techniques. For example if an input is the date, a test engineer may try February 29, 2000 or 9/9/0099.

Advantages

More effective on larger units of code than white box testing.


Tester needs no knowledge of implementation, including specific programming languages. Tester and programmer are independent of each other. Tests are done from a user's point of view.

Will help to expose any ambiguities or inconsistencies in the specifications.


Test cases can be designed as soon as the specifications are complete.

Disadvantages

Only a small number of possible inputs can actually be tested, to test every possible input stream would take early forever.
Without clear and concise specifications, test cases are hard to design. There may be unnecessary repetition of test inputs if the tester is not informed of test cases the programmer has already tried. May leave many program paths untested.

Thank You!

Scripted Testing

Agenda
Test Plan Test Design Test Script Introduction of Scripted Testing Generic Script Pattern Script Advantages Of Scripted Testing Disadvantages Of Scripted Testing

What's a Test Plan'?

A Test plan is a systematic approach to testing a system such as a machine or software.


Templates used in a test plan:Title References(requirements, design documents, other test plans, etc.) Project risk analysis Scope and limitations of testing Approach(Strategy) Entry/Exit criteria Test deliverables, etc.

What's a Test Design'?

Test design involves creation of high-quality tests to help you discover and interpret the information that you want to discover.
The most important consideration in software testing is the design or invention of effective test cases. The reason for the importance of test-case design stems from the fact that complete testing is impossible. Given constraints on time, cost etc., the key issue of testing becomes What subset of all possible test cases has the highest probability of detecting the most errors?

What is Test Script?

A Test script is a short program written in a programming language used to test part of the functionality of a software system.
A written set of steps that should be performed automatically can also be called a test script. Test scripts may be created or automatically generated using test automation tools, or programming language (such as C++, C#, Tcl, Expect, Java, Perl, Python, or more recently, Ruby)

What is Scripted Testing?

Scripted, or Planned testing has a test planning and design phase, followed by test execution.

In scripted testing, tests are first designed and recorded. Then they may be executed at some later time or by a different tester. Scripted testing is about controlling test execution.

Test Scripts

Scripted Test Example

Small (but realistic) example:

How to script and test this login? (Functional tests only not security!)

Sample Test scripts (4 of many)

Sample test script 1: Launch the Login screen Enter User-id: xyz Enter Password: pqr Press <Enter> Expected result: login ok Sample test script 2: Launch the Login screen Enter User-id: xyz Enter Password: pqr Click the Login button Expected result: login ok

Sample test script 3: Launch the Login screen Enter User-id: Enter Password: pqr Press <Enter> Expected: login rejected
Sample test script 4: Launch the Login screen Enter User-id: Enter Password: pqr Click the Login button Expected: login rejected

Sample Generic Scripts (2 of many)


Generic scripts: Specify general test activities and apply them to different parts of a test coverage outline.

Sample generic test script 1: Launch the Login screen Enter valid User-id Enter valid Password Press <Enter> or click button Expected result: login ok

Sample generic test script 2: Launch the Login screen Enter invalid User-id Enter valid Password Press <Enter> or click button Expected result: login rejected

Sample test Pattern script (checklist)

Input fields: Valid data Invalid data Length > max Length = max +1 Length = max Length = max 1 Combinations of above

Actions: Keyboard Buttons Operations: Add, Modify, Inquiry, Delete What to test for each

Advantages of Scripted Testing

Scripted testing provides a division of labor.


Scripted test are created from requirements design, and code. The test are documented. The test are defined in detail, they are more easily automated. Scripted test, written to the appropriate level of detail.

Disadvantages Of Scripted Testing

Scripted testing is very dependent on the quality of the systems requirement.

Scripted testing is, by definition, inflexible.

Scripted testing is often used to de-skill the job of testing.

Questions?

Thank You!

Exploratory Testing

Do you know me ?
Do you know yourself ?

Explore yourself !

Do you know your weak points ? Do you know my weak points ?

No body is perfect ?

To qualify as exploration a journey had to be credible Had to involve hardship and risk Had to include the novelty of discovery

John Keay, The Permanent Book of Exploration

What actually Exploratory Testing is ?


Exploratory testing is simultaneous learning, test design, and test execution

Exploratory testing is any testing to the extent that the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests

Qualities of Exploratory Tester


Questioning Strategies Sense of risk

Heuristics
Knowledge Training Explorers
mental packrats who horde memories of every bug theyve seen

Characteristics of Exploratory Testing


Interactive Concurrence of cognition and execution Creativity Drive towards fast results De-emphasize archived testing materials

Exploratory V/S Scripted


In scripted testing, tests are first designed and recorded. Then they may be executed at some later time or by a different tester.

Test Scripts

In exploratory testing, tests are designed and executed at the same time, and they are not necessarily recorded, but may be.

Test Ideas

Product

Exploratory V/S Scripted


Scripted testing is like making a prepared speech. It is guided by pre-conceived ideas.

Test Scripts

Exploratory testing is like having a conversation. It is self-guided.

Test Ideas

Product

Exploratory V/S Scripted


Scripted testing is about controlling test execution.

Test Scripts

Exploratory testing is about improving test design.

Test Ideas

Product

When to use exploratory testing ?

A common goal of exploration is to probe for weak areas of the program When there is little or no specifications and / or requirements When you have little or no domain knowledge When you dont have time to specify, script and test
continued

Exploratory Testing is extremely useful when faced with software that is


Untested Unknown or Unstable

The tester must create a map of the application as he goes on testing it

Every tester does Exploratory Testing


When a tester finds a bug

When the programmer reports that the bug has been fixed

When the tester first gets the product, with or without a specification

Advantages of Exploratory testing !

It can start very early in the development life cycle


It is not dependant on anything other than an application, e.g. no requirements or documentation or business use cases are necessary Since it is free form in nature, it can be extremely cost effective if you see something suspicious, you can explore it immediately It encourages creativity It increases the chance of finding new and otherwise undetectable bugs

It allows more time for testing interesting and complex cases. Its greater efficiency enables the tester to find more bugs in a shorter time period and make a faster assessment It demonstrates an applications ease of use It is adaptable and flexible

Intermittent Bug
Repeating the exact sequence of actions that caused the problem in the first place doesn't cause the failure to reoccur

When to do ET to explore Intermittent Bugs Product Environment Patterns

People
Tools & Techniques

Thank You!

You might also like