74
Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Embed Size (px)

Citation preview

Page 1: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Functional & Automation TestingRajesh Charles, Project Manager

Batch No:Date: jan-12-2014

Page 2: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Agenda (Complete Course)IntroductionTesting MethodologiesManual TestingPractical WorkshopAutomation TestingPractical WorkshopPerformance TestingPractical WorkshopSQL for Beginners Quality CenterUNIX for BeginnersInterview Practice and Mock Interview

Page 3: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Agenda (Today’s Class)What is Testing Why do we need TestingWho does the testingWhat has to be testedWhen is testing doneHow often to test?

Page 4: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Batch No:Date: jan-12-2014

Page 5: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software testing - DefinitionSoftware testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under testWhat is QualitySoftware functional quality reflects how well it complies with or conforms to a given design, based on functional requirements or specifications

Page 6: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software testing – Requirements govern DesignSoftware RequirementsSoftware Requirements is a description of a software system to be developed, laying out functional and non-functional requirements, and may include a set of use cases that describe interactions the users will have with the software.Requirements to Design -- Example

Project Manager

Developer

Tester

Page 7: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Sample Project – Requirement , Development, Testing

Business Requirement

Add Two numbers and display the Total

Requirement

Design

Design Documentation1 2 Input text box with label Value 1 and

Value 2

2 Input type for Value 1 and Value 2 is numeric

3 Code formula : Value 1 + Value 2

4 Submit button to trigger Total

Page 8: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Lets Tryout Some Live Testing

Page 9: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Question and Answer

Page 10: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Date: 6 January 2015

Page 11: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

What is Environment and Why do we need itSoftware environment is the term commonly used to refer to support an application. A software environment for a particular application could include the operating system, the database system, specific development tools or compiler

Software environment is the term commonly used to refer to support an application. A software environment for a particular application could include the operating system, the database system, specific development tools or compilerApplicationApplication is a set of programs designed to perform a specific used purpose

Software environment is the term commonly used to refer to support an application. A software environment for a particular application could include the operating system, the database system, specific development tools or compiler

Page 12: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Architecture

1. Single Tier Architecture

2. Two Tier Architecture 3. Three Tier Architecture

A Set of artifacts and relationships between these artifacts, that guide the selection, creation, and implementation of solutions aligned with business goals.

Internet/Intranet

Web Servers

Clients App. Servers

Database Server

Presentation LayerApplication / Business Layer Data Layer

Page 13: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Single Tier ArchitectureSingle tier (or) Monolithic Architecture : When the application is operated by single user it is recommended to go with single tier architecture

Presentation Layer Application / Business Layer / Data

Data Layer

Page 14: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Two Tier ArchitectureTwo tier architecture : When the requirement is sharing data by set of applications, the solution will be two tier architecture.

Page 15: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Three Tier ArchitectureThree tier architecture : In three tier architecture business logic is maintained independent of client application and database. In this case client application is database independent application.

Internet/Intranet

Web Servers

Clients App. Servers

Database Server

Presentation LayerApplication / Business Layer Data Layer

Page 16: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

N Tier Architecture

Presentation Layer

Web Server Layer Application Server Layer Database Server Layer

Page 17: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Operating SystemWindowsLinuxUnixWe will discuss about Unix/Linux operating system in details under

Unix/Linux for Beginners session.

Page 18: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Question and Answer

Page 19: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Date: 6 January 2015

Page 20: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Agenda (Today’s Class – Day 2)Types of TestingWhy do we need different types of TestingSoftware Life CycleSoftware Life Cycle ModelsAgile Methodology

Page 21: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Types of Software Testing

TestingTesting

White Box White Box Black BoxBlack Box

Black box testing is a testing technique that ignores the internal mechanism of the system and focuses on the output generated against any input and execution of the system. It is also called functional testing

White box testing is a testing technique that takes into account the internal mechanism of a system. It is also called structural testing and glass box testing

Page 22: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Black Box TestingThere are 4 Type of Black Box Testing:

1. Usability Testing2. Functional Testing3. Integration Testing4.Performance Testing

5. System Testing6. Acceptance Testing7. Regressing Testing8. Beta Testing

Page 23: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Usability TestingThere are 2 Types of Usability Testing:

1. User Interface Testing

2. Manual Support Testing

User Interface Testing

A. Easy to UserB. Look and Feel

B. Quick Interface

Page 24: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

User Interface TestingA. Easy to User

6 Thumb Rule from Microsoft

. Control Should be well Defined

. . Control Should Not be Wrapped/Truncated/Overlapped. . . Control Should Provide Complete Description

. . . . INITCAP

. . . . . Spell Checking

. . . . . . System Menu

B. Look and Feel

C. Quick Interface

Manual Support Testing

Page 25: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Functional TestingFunctional testing is a quality assurance (QA) process and a type of black box testing that bases its test cases on the specifications of the software component under testTypes of Functional Testing

1. Positive Functional Testing

2. Negative Functional Testing

Typically, functional testing involves the following steps:•Identify functions that the software is expected to perform.•Create input data based on the function’s specifications.•Determine the output based on the function’s specifications.•Execute the test case.•Compare the actual and expected outputs

Key Factors in Functional Testing that is common to every application are:1. Data Entry - Input2. Data Manipulation3. Data Storage/Retrieval/Output

Page 26: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Let’s Do Some Testing

Page 27: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Question and Answer

Page 28: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Date: 15 January 2015

Page 29: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Integration TestingIntegration testing is testing in which a group of components are combined to produce output. Also, the interaction between software and hardware is tested in integration testing if software and hardware components have any relation. It may fall under both white box testing and black box testing. 

Page 30: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Integration Testing (cont’d)Integration testing follows two approach known as ‘Top Down’ approach and ‘Bottom Up’ approach as shown in the image below:

Page 31: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Integration Testing (cont’d) – Top Down Approach Scenario

Current Balance

Transfer

$1000

$500

$500

Page 32: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Integration Testing (cont’d) – Top Down Approach Scenario

Current Balance

TransferDeposit Withdraw

Login1

2

3

4 5

Big - Bang Wait for all modules to be developed

Time Consuming Difficult to trace root cause of Bugs

Page 33: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Integration Testing (cont’d) – Top Down Approach Scenario

Current Balance

Transfer

Modules are tested as and when they are ready

Stub

Current Balance

Transfer

Driver

Page 34: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Integration Testing (cont’d) – Top Down Approach Scenario

Current Balance

TransferDeposit Withdraw

Login

2

3

4 5

Top Down Approach Stub

Page 35: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Integration Testing (cont’d) – Bottom UP Approach Scenario

Current Balance

TransferDeposit Withdraw

Login

4

1

2 3

Bottom Up Approach Drivers

Page 36: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

System Testing System testing is concerned with behavior of the system as a whole

Unlike Integration Testing, which focuses on data transfer amongst modules, system testing checks complete end to end scenarios, as the way a customer would use the system.

A good example of Test Case would be

LoginCurrent Balance

Transfer Logout

Apart from Functional, NON-FUNCTIONAL requirements are also checked

Page 37: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Acceptance Testing Acceptance test is usually done at client location by the client

Focus of Acceptance test is not to find defects but to check whether the system meets their requirements.

Acceptance Testing can be done in 2 ways Alpha Testing – A small set of employees of the client

Beta Testing – A small set of customers

This is actually with the clients see’s the requirement which is plain textInto actual working system.

Page 38: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Question and Answer

Page 39: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Date: 19 January 2015

Page 40: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Agenda Software Testing Life Cycle [STLC]

Software Testing Methodologies – Water Fall Model Software Testing Methodologies – Spiral Model

Software Testing Methodologies – Agile Development Agile Methods - Scrum

Page 41: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Testing Life Cycle [STLC]

Software Testing Life Cycle refers to a testing process which has specific steps to be executed in a definite sequence to ensure that the quality goals have been met. In STLC process, each activity is carried out in a planned and systematic way. Each phase has different goals and deliverables

Page 42: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Development Life Cycle [SDLC]

A Software Development Life Cycle is essentially a series of steps, or phases, that provide a model for the development and lifecycle management of an application or piece of software.

Page 43: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Development Life Cycle – cont’d

SUPPOSE, YOU WERE ASSIGNED A TASK TO DEVELOP A CUSTOM SOFTWARE FOR A CLIENT

Page 44: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Development Life Cycle – cont’d

Plan the programming language like java, .net, php and database which would be suited for this project

Test the software to verify that the build is as per the specification given by the client

Actually code the software

Gather as much information as possible about theDetails & specification of the desired software from the client

1

2

3

4

Page 45: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Development Life Cycle – cont’d

Plan the programming language like java, .net, php and database which would be suited for this project

Test the software to verify that the build is as per the specification given by the client

Actually code the software

Gather as much information as possible about theDetails & specification of the desired software from the client

Requirements

Design

Build

Test

Maintenance

Page 46: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Development Life Cycle – cont’dRequireme

nts

Design

Build

Test

Maintenance

Software Development Life Cycle

Waterfall Model

Page 47: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC– cont’d [WATERFALL MODEL]Requireme

nts

Design

Build

Test

Maintenance

Mistake in Requirement

Design to meet

Requirement

Build to meet Design

Wrong Product

You will have to start afresh Project

Page 48: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC– cont’d [WATERFALL MODEL]Requireme

nts

Design

Build

Test

Maintenance

Design to meet

Requirement

Build to meet Design

Wrong Product

You will have to Re-Design to correct Defects

Requirements

Page 49: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

$139 $455 $977

$7,136

$14,102

$0

$2,000

$4,000

$6,000

$8,000

$10,000

$12,000

$14,000

$16,000

Requirements Arch & Design Build Test & Implement Maintenance

System Development Phases

Costs of Correcting Defects (Example)Source: IEEE Computer Society

SDLC– cont’d [WATERFALL MODEL]

Page 50: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC– cont’d [V MODEL]

Requirements

FunctionalSpecification

High LevelDesign

Code

Detailed Design/progra

mspecification

User Acceptance Test Plan

System / Functional Test Plan

Integration Test Plan

Unit Test Plan

User Acceptance

Testing

Functional/ SystemTesting

Integration Testing

Unit Testing

SDLCSTLC

Page 51: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC– cont’d [Iterative Model]

Phase 1 Phase 2 Phase 3

Requirement

Design

Build

Test

Requirement

Design

Build

Test

Requirement

Design

Build

Test

Rapid Application

Development

Agile Development

Page 52: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

STLCThere are numerous developmentLife cycle model Development model

selected for a project depends on the aim and goal of the Project

Testing is not a stand-alone activity and has to adopt with the development model chosen for the projectIn any model testing

should be performed at all levels(requirements to maintenance)

Page 53: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Question and Answer

Page 54: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Date: 19 January 2015

Page 55: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Spiral ModelSpiral Model is a combination of iterative development process model and sequential linear development Model i.e waterfall model with very high emphasis on risk analysisIt allows for incremental releases of the product, or incremental refinement through each iteration around the spiral

SPIRAL MODEL DESIGN

The spiral model has four phases. A software project repeatedly passes through these phases in iterations called Spirals

o Identificationo Designo Construct/Buildo Risk Management

In Spiral Model focus remains in accessing and minimizing project risk by breaking the projects into smaller segments and providing more easy of change in the development process

Page 56: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Spiral Model .. cont’d

1.IdentificationThis phase starts with gathering the business requirements in the baseline spiral. In this subsequent spirals as the product matures. Identification of system requirements and unit requirements are all done in this phaseContinuous communication between the customer and the system analyst.

2.DesignDesign phase starts with the conceptual design in the baseline spiral and involves architectural design, logical design of the modules. Physical product design and final design in the subsequent spirals

3. Construct or BuildConstruct phase refers to production of the actual software product at every spiral. In the baseline spiral when the product is just thought of and design is being developed as a POC4. Evaluation and Risk AnalysisRisk analysis includes identifying, estimating and monitoring technical feasibility and management risk, such as a schedule slippage and cost overrun. After testing the build at the end of first iteration, the customer evaluates the software and provides feedback

Page 57: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Spiral Model .. cont’d

Disadvantages of Spiral ModelCan be a costly model to useRisk analysis requires highly specific expertise Project’s success is highly dependent on the risk analysis phase.Doesn't work well for smaller projects

Advantages of Spiral ModelHigh amount of risk analysis hence, avoidance of Risk is enhancedContinuous and steady approach minimizes the risk or failuresAssociated with the change in the systemAllows extensive use of prototypesCost estimation is easy and customer has more controlDevelopment can be divided into smaller parts for better risk managementRequirements can be captured more accuratelyGood for large and mission-critical projectsStrong approval and documentation controlAdditional Functionality can be added at a later dateSoftware is produced early in the software life cycle

Page 58: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology Agile development is an alternative to traditional project management where emphasis is placed on empowering people to collaborate and make team decisions in addition to continuous planning, continuous testing and continuous integration

10 Key Principles of Agile1. Active user involvement is imperative 2. The team must be empowered to make

decisions3. Requirements evolve but the timescale is

fixed 4. Capture requirements at a high level;

lightweight & visual5. Develop small, incremental releases and

iterate6. Focus on frequent delivery of products7. Complete each feature before moving on to

the next8. Testing is integrated throughout the project

lifecycle – test early and often9. A collaborative & cooperative approach

between all stakeholders is essential

Page 59: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Joshua Book Store

SDLC – Agile Methodology cont’d

Page 60: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Iterative Incremental Methodology

Requirements Gather

Product Design

Coding

Testing

Page 61: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Page 62: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014
Page 63: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

The team (or part of the team including the product owner) meet regularly to "groom the product backlog", in a formal or informal meeting which can lead to any of the following:

removing user stories that no longer appear relevantcreating new user stories in response to newly discovered needsre-assessing the relative priority of storiesassigning estimates to stories which have yet to receive onecorrecting estimates in light of newly discovered informationsplitting user stories which are high priority but too coarse grained to fit in an upcoming iterationIn consultation with the customer or product owner, the team divides up the work to be done into functional increments called "user stories”.

Page 64: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

ScrumMaster

ScrumTeamTamy

Page 65: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Page 66: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Page 67: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Page 68: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014
Page 69: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Page 70: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Page 71: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d

Page 72: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

SDLC – Agile Methodology cont’d Benefits of Agile

Time-to-MarketCertaintyIncrease Revenue by Focusing on Customer Value

Page 73: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Manual Testing

Page 74: Functional & Automation Testing Rajesh Charles, Project Manager Batch No: Date: jan-12-2014

Software Testing Life Cycle [STLC]

Test Planning

Requirement Gathering

Test Design

Test Execution

Defect Reporting

Signoff

Development