functional testing

160
SOFTWARE TESTING / functional testing BHARATH ANCHE (PASSIONATE TESTER ) [email protected]

Upload: bharathanche

Post on 14-Aug-2015

38 views

Category:

Software


1 download

TRANSCRIPT

Page 1: functional testing

SOFTWARE TESTING / functional testing

BHARATH ANCHE (PASSIONATE TESTER )

[email protected]

Page 2: functional testing

What is software testing ?

Testing is process of executing the software intentionally to find the bugs in it. ( or )

To differentiate the customer requirements and actual function of the software or application .

Page 3: functional testing

What is quality in software testing?

Quality is a process where the it meets the customer or user requirements

They are two types to ensure the quality of software :-

A) Quality Assurance

B) Quality Control

Page 4: functional testing

What is Quality assurance

Quality Assurance is a process of finding the bugs in the initial stage of software development .

This Quality Assurance includes process ,procedure , requirements and verification of standards in developed software

It is subset of software life cycle.

It focuses on processes and procedures .

Page 5: functional testing

Examples Of quality Assurance ?

Verification of software

ISO

IEEE

Page 6: functional testing

What is quality control?

Quality Control is a process which validate the software after developed and before giving it to the customer.

Quality Control focuses on finding a bug after the software is developed and before giving it to the customer

It is a subset of quality Assurance

Page 7: functional testing

What is verification ?

Verification is a step by step process which includes the

Documentation

Review the document and perform test report

Design

Review the design and perform test report

Built review

Review the code and perform test report

Page 8: functional testing

Advantages of verification ?

It is performed at the initial stage of the project .

This process is effective in reducing the errors or finding the errors at the starting stage of the software development

This lower the damage of the software development .

Page 9: functional testing

What is validation ?

Validation is done after the software is developed and to find the defects before it goes to customer hands .

It focuses on the Defects that enter in to the system

Validation can be performed after UAT availability.

Page 10: functional testing

Advantages of validation ?

We can find the defects before delivering the product .

Include better products and services which gives good reputation for a company and higher revenue from having more satisfied customers.

Page 11: functional testing

Disadvantages of validation ?

Include more man power or operations to maintain quality control .

adding more time to the initial process.

Page 12: functional testing

Principles of Testing (Session 4)

The tester have to follow the certain principles in this corporate world :-

Principle 1: Testing shows presence of defect

Yes , Testing will reduces the effect of bugs or error in the software ,But no software in world is 100% bug free.

Principle 2 : Exhausting testing is impossibleWhile testing the software we will see the important areas or delicate areas but we cannot do the test on all combinations .

Page 13: functional testing

Principle 3 :- Early testing This is so important that we have to start the test at beginning of the software development stage .This will reduces the bugs or defects in the software .

Principle 4: defect clustering Tester should not be lazy while testing he have to test each and every Conner of the software to find bugs .

Page 14: functional testing

Principle 5 : pesticide paradoxIT is kind of disease repeating the activity number of time , In testing we have to be patience while repeating the test on same software and we have to see that we are using different types of testing methods to find the new bugs in the software.

Principle 6 : Testing is context dependent We have to perform different types of tests based on software requirement it may be e- commerce software or safety critical software or banking software .

Page 15: functional testing

Principle 7 :- absence of errors fallacyTester should come out from a mind set on testing and finding the bugs in the software is done , but this not encouraged in the corporate world , tester should test the software keeping in the mind requirements of client and user end .

Principle 8 : Pro activenessTester should be very active and should always try to know coming features which may include in between the software development and also adopt the new testing techniques .

Page 16: functional testing

Session 5 :- What is application

Application is a program or a group of program designed for the end user

Lets discuss about 3 type’s of applications :-a) web applicatiomnb) desktop applicationc) mobile application

Page 17: functional testing

Web application

Web application is a program that is stored on the server and on the request of user it is delivered through browser .Technologies used for delivering web application:-a) Javab) .netc) PHPd) Google toolkit

Page 18: functional testing

Desktop Application

The application which runs as stand alone in laptop or desktop which contrast with web application That needs web browser to run.

Technologies used for running This application:a) cb) C++d) Visual studios

Page 19: functional testing

Mobile Application

Mobile application is program That designed to run on smart phones , tablet pc , wireless computing devices .

Technology that supports this application is :a) HTML 5b) objective –cc) Apache cordova

Page 20: functional testing

What is a architecture

An architecture is a primary qualities of a system quality which includes modifiability, security and performance .

It show which components are involved in the design and what is the role of each component

It also tells how these components will communicate with each other.

Page 21: functional testing

Types of architecture

2-tier architecture 3-tier architecturen-tier architectureMVC architecture

Page 22: functional testing

Day 6 special class on SDLC

SDLC standards for software development life cycle .

To implement a successful software or project we have follow certain phases in software development life cycle

There are different phases in SDLC

Page 23: functional testing

phases of SDLC

Planning

Analysis

Design

Built

Test

Deployment

Page 24: functional testing

Planing phase of sdlc

The motive of this phase is to understand the requirements of the project .

Business architect and project manager will have a discussion in this phase and list out the requirements in a chart called “ Requirement charter”

Out come of this phase is “Project Charter”

Page 25: functional testing

analyis phase

In this phase the analysis on the requirements is done by the business analyst .

Business analyst will document the requirements according to the end user

Out come of this phase is “ BRD” (business requirement document )

Page 26: functional testing

Design phase

In this design phase the business architect will design the software with different types of tools .

Out come of this phase is a) high level Design

Page 27: functional testing

Built phase

In this phase the different types of developers ex: web developers , app developers are involved to built .

Out come of this phase is : low level document

Page 28: functional testing

Test phase

In this phase the test engineer will execute the software or product using tools to find the bugs in it .

Out come : Defect report

Page 29: functional testing

Deployment phase

In this phase there is a team called “ environment management “ this team will deploy or install the software in live environment .

Out come : deployment software

Page 30: functional testing

Types of approaches to be followed in product development

Sequential approach

Incremental approach

Iterative approach

Prototype approach

Page 31: functional testing

Sequential approch

If a project runs in a SDLC phases in correct order it is called sequential approch.

Example of sequential model is water fall model and v- model

This approach is suitable for stable technology and application architecture

Well understood stable requirements

Page 32: functional testing

Incremental approach

In incremental approach the software system is broken down in to sub systems .

Incremental approach is suitable for

Project requirements are know but there is no stable requirement

Page 33: functional testing

Prototype approch

This approach is built and thrown which is suitable for the small projects were requirements are not mentioned .

Page 34: functional testing

Iterative approch

This kind of approach we use in long term projects , where changes takes place in requirements rapidly.

Here we don't require 100% requirements

Agile methodology is the best example for this approach .

Page 35: functional testing

Waterfall model

Waterfall model is a sequential design process used in software development process.

In this model the requirements should be stable

It requires good planning

Page 36: functional testing

Flow chart of water fall model

review Review

100% 100%

Review

100%

Review

100%

planing

analysis

design

built

Test

Page 37: functional testing

Working in waterfall model

The requirements should be stable while working on waterfall model

If the first phase(planning) is 100% correct than we have to move on to second phase(Analysis phase)

To implement the project in waterfall model we require good planning .

Page 38: functional testing

Advantages of water fall model

Stable process

All the phases are done 100%

This model is simple and easy to understand and use.

This model works well with small projects were the requirements are very well understood .

Page 39: functional testing

Disadvantages of waterfall model

No early conversation with all the team involved in development of product.

No early testing

It will not allow any business changes .

No early software

No early customer feedback

Page 40: functional testing

How to handle requirement changes in water fall model

Step1 :- client will request requirement changes notice (RCN)

Step 2:- We will create requirement change notice

Step 3:- our project manager will distribute the requirements to all the team members in project

Step 4 : analysis report will be generated regarding the impact on project .

Page 41: functional testing

Step 5 : we will send requirement changes to client

Step 6 :On the approval of client we will handle requirement change .

Page 42: functional testing

What if requirements changes rapidly in waterfall model

We will request the client to change the approach from sequel to iterative approach .

We can also handle the production defects in the 1month of free service .

Page 43: functional testing

Iterative development model

Dividing the project in to number of releases

If the requirements are rapidly changing we can request the customer to move on this model .

We can get the early feedback from the customer for each release

Page 44: functional testing

Advantages of iterative approch

Early software

Early feedback

We can reduce the risk to maximum level

Less costly to change the scope and requirements

Agile is the present methodology based on this iterative approach

Page 45: functional testing

Agile method

Agile software development is a software development model based on iterative approach where the requirements and solutions revolve around the self- organized cross functional team .

In this Agile the team having the 5-9 members developers , testers , designers , analyst, Were these people will be doing cross functional activities .

No naming is encouraged like senior , junior ,leader

Everything is transparent

No documentation , more interactions will happen to save the time and to improve quality of work .

Page 46: functional testing

Principles of agile

Agile is also called as quick moving

Agile will break the task in small increments

In agile we will breakdown the software in to number of releases .

While working in agile we have to deliver the software within 2-4 weeks of time .

Each team should involve in complete SDLC .

Main goal of agile is to delivering the working software .

In agile more Interactions should happen rather than documentation .

Page 47: functional testing

Advantages of agile

Customer satisfaction

Late changes in the requirements are welcomed

Going with more interactions between business people and developers .

Agile is against to prepare document .

Page 48: functional testing

Difference between agile and water fall model

Agile is individual and -> water fall process and Interactive model. Tools.

Delivering the working -> documentation is requiredsoftware . -> we cannot contact with

Customer collaboration other team members .

Responding to late cha -> No changes are encouragenges in the requirement -> It is sequential approach.

Less documentation and more Interactions withbusiness people and developers .

It is a iterative approach .

Page 49: functional testing

Testing classifications

Testing is classified in to two

Static testing Dynamic testing

Page 50: functional testing

Static testing

Static testing is done before the compilation of the software .

Static testing is done at the initial stage of software testing life cycle.

Requirement review

Design review

Code review

Page 51: functional testing

Dynamic testing

Dynamic testing is done after the compilation of software .

In dynamic testing software is executed intentionally to find the defects .

Examples of dynamic testing

White box

Black box

Grey box

Page 52: functional testing

Unit testing :- testing testing the each unit and each modules of the code, It involves testing of source code by developers.

Integration testing :- Each module is grouped and tested by the developer . He ensures whether each module is working according to the requirement .

.

Page 53: functional testing

White box testing

White box testing is based on requirements and also considering the internal knowledge of the code.

In this white box testing missing requirements cannot be handled .

Statement coverage :execution of each statement

Conditional coverage: if / else execution testing

Branch coverage : all parts of the program

Loop testing : for loop/do/while testing in code

Memory leakage : checking for unnecessary variables

Tool used in white box : J unit tool

Page 54: functional testing

Example of white box testing

Print first ten natural numbers

Code for the above program

#include<stdio.h>int main()

{

int i = 1;

for (i = 1; i <= 10; i--)

{

 printf("%d", i);

  }

 return (0);

}

Page 55: functional testing

Test case for the above code

Enter the natural number 1 and execute out put : 0

Enter the natural number 2 and execute out put : 1

Enter the natural number 9 and execute

Out put : 8

Enter the natural number 10 and executeout put : 9

Page 56: functional testing

Bug we found in above code

From the above test case we can conclude that there is some defect in the code .

#include<stdio.h>int main()

{

int i = 1;

for (i = 1; i <= 10; i--) we given that i-- instead of

{ i++ .

 printf("%d", i);

  }

 return (0);

}

i--)

Page 57: functional testing

Black box testing

Black box testing is done by considering requirements but not using internal code knowledge.

Black box testing is a strategy where testing is based on requirements and functionalities .

Challenges in black box testing

Exhaustive testing

Accidental coincidence

Sometimes we may get right output for wrong reason.

Page 58: functional testing

Exhaustive testing : testing the requirements with all combinations is impossible ,

Accidental coincidence :- sometime we may get correct out for wrong input .

Acceptance testing

System testing : testing the whole system to see whether requirements are meeting with the customer .

Page 59: functional testing

Black box testing whitebox testing

1) Black box testing requires requirements 1) White box testing requires requiremen and not internal structure of the code . Ts and internal structural code.2)mainly appalicable to higher levels 2) Mainly applicable to low level testingof testing like acceptance testing unit testing and integration testing.system testing 3) generally software developers are 3)Generally independent software responsible in this white box testing testers are responsible in this Black – box testing .4) programming knowledge and 4) programming knowledge and implementation knowledge implementation knowledge required.not required .5)we will write test cases based 5) we have to write detailed test cases on requirements. Design .

Page 60: functional testing

Grey box testing

Grey Box testing is combination of both white box and black box testing .

While testing u need to have a partial understanding of internal structure and also the requirements .

For designing the test cases you need to now the code / internal structure and conduct testing like black box.

Page 61: functional testing

What is functional testing

Functional testing is testing the system based on the client requirements whether it is working or how well it is performing .

For example if we take web application field level validation : checking whether all fields like(user name ,password )are workingbusiness level validation: checking the rules of each field is working or not .

End to end flow : checking whether whole application is working as per the requirement .

Page 62: functional testing

What is non – functional testing ?

Checking whether how well the system is responding.

Some of the sub types in no functional testing are :-

Usability

Compatibility

Security

performance

Page 63: functional testing

A) Usability: checking whether the application is easy to use .

Easy navigations

Unnecessary content

Time taken to accomplish the task .

B) compatibility or installation : checking whether the application is supporting the various browser versions and os versions or not .

C) performance : checking the speed of the application by applying certain tests like stress ,load indurance , spike

Page 64: functional testing

Example for non functional testing

lets test the ball pen

Whether the pen is writing well not

Whether the pen is writing on wet surface, rough surface,.

Bend the refill in all the directions and now we start writing this is called stress testing .

Apply force and try to write this is called load testing .

Page 65: functional testing

Function and non functional

Here the testers test how well the system is performing.

Functional testing is based on client requirements .

Testing the application against business requirements .

It is a part of system testing

Functional testing means validating the behavior of a application.

this testing covers integrating testing, sanity testing, smoke testing, regression testing,

Here tester tests how well the system is responding.

Non- functional testing is based on clients expectations .

Testing the application against performance requirements.

It is also a part of system testing

Non – functional testing means validating the performance of the application.

This testing covers performance,load,stress,security,instillation,compatibilityand usability.

Page 66: functional testing

Performance testing

Performance testing is use to check the speed of the application .and this application goes to various stages of testing under this performance testing .A) usability testingb) load testingc) stress testing d) spike testinge) Endurance testing

Page 67: functional testing

Spike testing

Spike testing is testing the application or system by applying max load on and they also checks by unloading it.

For example : if we take the jntu results are declared and on the same day all the users have logged in and the server is crashed due to over load and they also test this jntu site behavior by unloading it.

Page 68: functional testing

Load test

By applying load and they calculate the load it can take and at what load it is going to crash .

For example a bank domain server will accept 1000 requests and not more than that , if the applications are still coming at some point the bank application crashes .

Page 69: functional testing

Endurance test

Endurance means capacity / fitness , testing the system how much a system can handle the load for continuous period of time .

Best example is bank application , on closing days of banks we continuous load on that days so we test the load by keeping in the mind endurance testing , we test on these days how the system or application sustain the continuous load on the application or system.

Page 70: functional testing

Security (non functional testing)

Checking the credentials and secure login process of an system / application .For example :

In a bank application or in atm machine the authorized person with his atm card should insert the card and get the amount and after the transcation is completed it exists the window and go to home page , but if it fails in going to home page there is a security issue in the application.

Page 71: functional testing

Principles in security

Confidentiality : The information sent by person a to Person B the information should be viewed by only B.

Integrity : Getting an information from the correct person.

Authentication : conforming the identity of a person and giving access to him .

Authorization : Giving access to required features for authenticated person .

Page 72: functional testing

Availability : availability of information to authenticated authorized person .

Page 73: functional testing

Security testing techniques

Access to application

Password cracking

Data protection

Sql injection

Cross file crypting

Phishing

Page 74: functional testing

Retesting and regression

Retesting is a process of testing the tested software or product once again to find if there is a bug .

Regression testing is a process of testing the retested software to see whether the fixed changes which are done in retesting will not have any impact on other functionalities .

Page 75: functional testing

When we can go for retesting ?

Retesting is performed when we find a bug or we think that there will be a bug at that point of place we need to go for re-testing , we have to test the application again and again .

Page 76: functional testing

When we can go for regression

When we found a bug in retesting and when it is been solved .

The application once again goes for complete testing called regression testing to find the defect if any and also to check whether the fixed bug doesn’t shows inpact on other functionalities .

Page 77: functional testing

Is it possible to do entire regression?

Regression testing should ideally happen on every single code commit (and if you've got a good build pipeline, this means doing testing on every single build). This ensures that if a bug has been introduced in the latest commit, that it found as quickly as possible. If you only have to go back one commit to fix a problem, that's super easy to fix and troubleshoot.

Page 78: functional testing

Convetional testing

Testing with process, need have preplanned approach , scripted approach.

Business analyst will give the requirements

Business architect will design based on requirements .

Tester will develop test design based on requirements.

Developer will create the build

Tester will execute the application .

Page 79: functional testing

Characteristics of conventional testing

Preplanned approach

Organized approach

Pre defined set of test cases

Process oriented

Page 80: functional testing

Adhoc Testing

Testing without any process , procedures,organised approach, is called Adhoc testing.

Characteristics of Adhoc testing :-

Pre-planning is not required in this Adhoc.

No need to follow the process.

Pre-planned set of test cases are not required .

Simuntanesouly thinking design and execution.

This type of testing is completely based on testers creativity and memory of past events.

Testers with good experience and knowledge

Page 81: functional testing

Disadvantages of adhoc testing

There will be no control over test coverage .

This test may not cover 100%

Requirement coverage may not be covered .

Page 82: functional testing

Principles to perform adhoc

Exploratory testing will be under supervisor control.

Supervisor will allocate charter to testers.

Charter means a functionality will be tested .

Supervisor will identify sessions to test charter

Session is a time period to test a functionality

At the ending of the adhoc testing they go for debrief meeting to discuss the obervations .

Page 83: functional testing

When testing team will go for adhoc or explonatory testing ?

When there is no requirements of the product or software.

When there is a lack of time .

Page 84: functional testing

What is adhoc regression testing ?

Testing the previously working or retested functionality without writing test cases is called adhoc regression testing .

Page 85: functional testing

What is alpha testing ?

Testing conducted by the end-user at developer location to check the acceptance criteria .

This test is performed based on requirements but not based on functional and non functional requirements .

Business requirement : what customer is expecting .

Functional requirement : how to implement feature .

Page 86: functional testing

What is beta testing?

Testing the product by end – user at end – user location is called beta testing .

End user , business architect (BA) , client will perform .

This testing is performed based on business requirements only .

This test is always performed by customers at their own site .

Page 87: functional testing

Alpha and beta

 It is always performed by the developers at the software development site.

Sometimes it is also performed by Independent Testing Team.

Alpha Testing is not open to the market and public

It is conducted for the software application and project.

It is always performed in Virtual Environment.

It is always performed within the organization.

It is the form of Acceptance Testing.

Alpha Testing is definitely performed and carried out at the developing organizations location with the involvement of developers.

It comes under the category of both White Box Testing and Black Box Testing.

It is considered as the User Acceptance Testing (UAT) which is done at developer’s area.

It is always performed by the customers at their own site.

It is not performed by Independent Testing Team.

Beta Testing is always open to the market and public.

It is usually conducted for software product.

It is performed in Real Time Environment.

It is always performed outside the organization.

It is also the form of Acceptance Testing.

Beta Testing (field testing) is performed and carried out by users or you can say people at their own locations and site using customer data.

It is only a kind of Black Box Testing.

.

It is also considered as the User Acceptance Testing (UAT) which is done at customers or users area.

Page 88: functional testing

Smoke test

Smoke test is a kind of test that revels the major failures of the application .

Smoke test is a type of testing that revels or shows whether the application is ready for testing or not .

Page 89: functional testing

Steps performing smoke test

Business analyst will give the requirement

Developers will build the design.

Team of testers perform smoke test on this build to ensure to send this build to next level of testing or not .

Group of testers will test the application which is passed in smoke test .

Environment team will deploy the software.

Page 90: functional testing

Smoke test characteristics

This smoke test should be a quick test should be completed in 3-4 hours but not entire day .

End to end test

Testing the main functionalities of the software

Scripted approach

Page 91: functional testing

Example of smoke test

Smoke test of a pen :

a – pen is writing or notb- color of the ink c - gripper is present or notd- fixing the cap of the pen.

Page 92: functional testing

Example 2 for smoke test

Mobile a- check incoming and out going callsb- check displayc- check incoming and out going smsd- check charge of the battery e- check signal symbol is showing or not

Page 93: functional testing

Sanity testing

Sanity testing is testing the application completely after the application is qualified in smoke test .

Sanity testing is detailed test when compare to smoke test .

Sanity testing is performed after the smoke test.

Testing the application at customer environment to check whether the already tested application is responding in customer environment .

Page 94: functional testing

Steps when sanity testing is performed

Business analyst will give the requirements

Developer will build the design.

Testers will perform smoke test

If the application is qualified in smoke test it is passed to next level of testing

The team of testers will perform detailed test and generate test cases .

The defects are sent to the developer

Developer will solve the defects and pass again to testers .

Testers will retest the changes done on application

Now testers will start regression

Testers found defect they will pass it to developer

Developer corrects the defects

At regression we stated application is working fine

Then at the last 2 to 3 hrs will go for sanity testing .

Page 95: functional testing

Sanity smoke

It is more in-depth

In Sanity testing we need not follow previous test cases .

It is not end to end test

It is not in depth just testing the major functionalities of the software .

In smoke testing we need to follow scripted approach

It is end to end test .

Page 96: functional testing

Installation testing

Testing the installations procedures and configurations for the software to deploy .

This installation testing is performed by deployment team.

Page 97: functional testing

Localization testing

Testing the applications with different type of languages .

But the tester must now the language before he performs test .

Page 98: functional testing

Mutation testing

Mutation testing means intentionally the developer will inject the defects in to the application to test the testers performance on testing the application .

Page 99: functional testing

Levels of testing

Testing is performed at different levels

1) unit testing 2) Integration testing 3) system testing 4) system integration level testing 5) user acceptance testing 6) Incremental integration testing

Page 100: functional testing

Unit testing

Unit testing is a level of testing where developers will execute the build intentionally to find the defects .

In this unit level testing each module or each component is tested in the system or software .

This is a white box testing

This is done by developers

It is functional and non functional

Page 101: functional testing

Example of unit testing

Let us take the mother board of system and we start unit test on each component whether it is working or not .

Testing the each key of a key board

Page 102: functional testing

Integration testing / assembly level testing

Integration or assembly level testing is a process where we test the interconnectivity between the different components in a system .

This testing is performed by developers .

This testing done only after the system is successfully completed unit test .

Page 103: functional testing

Example of integration testing

Testing the system when keyboard and mouse are connected together

Testing all the components grouped in mother board of a system.

Page 104: functional testing

System testing

System testing is a process of validating the entire system .

This system testing performed by test engineers.

This test is done only when the system is passed in integration level testing .

Tester will perform this test to check the functionality and non- functionality through black box methodology .

Page 105: functional testing

System integration level testing

SIT (system integration level testing ) is a process of testing the whole system in different modules .

In this SIT level different type of test engineers from different projects are involved to perform this test .

To perform this test first the system has to undergo system level testing .

This test is performed through black box methodology .

Page 106: functional testing

UAT (user Acceptance testing )

User acceptance test is done by BA, END user AND client these people will perform test in acceptance criteria .

BA will test according to the requirements .

This test is done through black box testing methodology .

Alpha testing and Beta testing comes under this testing .

After the UAT testing the permission is given to the environment management team to deploy the product in live environment .

Page 107: functional testing

Incremental integration testing

Testing the each component in the system which is successfully completed the unit level testing .

This testing consists of two techniques a) top down approachb) bottom up approach

Top down approach : In this approach highest level modules are tested first and lowest level modules are tested after that .

Bottom up approach : This testing begins with unit testing followed by higher level combinations of units or modules and testing them .

Page 108: functional testing

What is stub and drivers in Integration testing

Stubs are called top down integration testing

For example :

 If we have Modules X, Y and Z. X module is ready and we need to test it, but it calls functions from y and z (which are not yet ready). To test at such a module, we write a small dummy piece a code which Simulates Y and Z and which will return values for X. This piece of dummy code is called Stub in a Top down Integration Testing.

Page 109: functional testing

Drivers

Drivers are called bottom up integration test .

For example :-

We have modules for Y and Z and X module is not ready we need to test Y and Z module , so develop a piece of dummy code for x which return the value for Y and Z which piece of dummy code is called drivers .

Page 110: functional testing

What is scrum ?

Scrum is a iterative and incremental agile software development methodology for developing a product .

Scrum is a part of agile .

People involved in scrum are :- a) product ownerb) scrum masterc) scrum team members

Page 111: functional testing

Responsibilities of product owner?

Product owner will define the features of the product .

Product owner will decide the release date of the product.

Product owner should be a single person and he is responsible for product backlog .

Product owner can accept or reject the work results .

Product owner will represents the customer requests .

Page 112: functional testing

Responsibilities of scrum master ?

Scrum master will take care of entire team members in scrum .

Scrum master will train the scrum team on scrum .

He is responsible for enacting scrum values and practices .

Frequent inspection by scrum master .

Page 113: functional testing

Responsibilities of scrum team

In this scrum team there will be 5-10 members of cross functional typical team .

This is a full time work .

These scrum team members are self-organised and cross functional ,They wont have any titles or tags .

Page 114: functional testing

Working in scrum

Sprint : sprint is a fixed time frame for delivering the working product to the customer in weeks but not months .

Epic / requirements : In a scrum frame work the business requirement development in a project is divided in to epics .

Story card : epic is divided in to story card.

Product backlog : overall story cards assigned to a project .

Sprint backlog : story cards which are assigned to particular sprint to deliver a working software to the customer .

Based on the client pirority we will deliver sprint backlog .

Sprint planning meeting : how many sprints can be delivered at a time .

Page 115: functional testing

Scrum framework

Scrum event / ceremonies

Scrum roles

Scrum artifacts

Scrum event : a) goal of the sprintb) sprint estimation c) how many story cards have to be delvered to the customer.

Page 116: functional testing

Scrum roles

The group of people involved in scrum project

a) product ownerb) scrum team c) scrum master

Page 117: functional testing

Scrum artifacts

Product backlog : overall story cards assigned to a project .

Sprint backlog : story cards which are assigned to a particular sprint to deliver a working software .

Burndown chart : estimating the x-axis and y-axis or tracking the total work remaining and present the likely wood of remained goal .

Page 118: functional testing

Different types of meetings in scrum

Daily scrum meeting

sprint review meeting

Sprint retrospective

Print planning meeting

Page 119: functional testing

Diagrammatic representation of scrum

Page 120: functional testing

What is kanban ?

kanBan is a new technique for processing a software development in highly efficient way .

Kanban tells us what to do , when to do ,what is pending , what is completed , what is to be delivered to customer .

Page 121: functional testing

Features in kan ban

Visualize your work

Collaboration in real time

Subtasks

Built for speed

Time tracking with pomodoro support

Document and time attachment

Analysis (cumulative flow and lead cycle )

Page 122: functional testing

Visualize your work

Page 123: functional testing

This kanban gives you a excellent overview of your current suitation .

It shows you on dashboard “task to do “ “task assigned to me today “ “task in pending “ “task completed “”task ready to delivere to customer “

When working in a team of people you can instantly see what other people are working on right now, what has been done and what is coming up.

Kanban can also be used as a “lean project management tool.”

Page 124: functional testing

Collaboration in real time

Page 125: functional testing

When your working in a team when a one of your team member makes the changes in the kanban board rest all members in the team can view what changes are made .

For example if you add or remove any task on t he screen the sam e appears on rest of the members screen

Page 126: functional testing

Sub tasks in KanBan

Page 127: functional testing

By dividing your task in to sub tasks you can track how much progress you have made on a specific task .

When you complete the sub task you can check the boxes and the changes will automatically done without your action .

Page 128: functional testing

Kan ban is Built for speed

Page 129: functional testing

The things are done very quickly in this Kanban process .

Add , remove, or record will quicly done without frustrating you with loading .

Page 130: functional testing

Time tracking with pomodorosupport

Page 131: functional testing

You can track the time of your working progress by using a trimer technique called “pomodoro timer”.

You can set a timer for 25 min with fully focused worked before taking a break . And followed by another 25 min with another break .

Page 132: functional testing

Document and file attachment in kan ban

Page 133: functional testing

In kanban you can attach files, presentations,documents and other files to your tasks .

You can also attach the files present in orthobox,google drive and if you have any files on computer you can just drag and drop in drop file field area it will upload .

This feature is available in premium version.

Page 134: functional testing

Analyze (cumulative flow ,leadtime and cycle)

Page 135: functional testing

In kanban by using cumulative flow ,lead time and cycle charts we can find the bottlenecks in our workflow and we can add or remove the coloums or we can change the WIP limits (work in progress).

After we made changes in the project we have to check the statstics after a few days if you reached the intended effect .

This feature is available in premium version .

Page 136: functional testing

Software test life cycle

Software test life cycle is process were the product undergo different type of testing phases.

It shows us the entire starting and ending of testing a software.

The starting is “requirement analysis and ending phase is deployment phase “ .

Page 137: functional testing

Phases in STLC

Requirement analysis

Test plan preparation

Test cases preparation

Rtm

Test Environment readiness

Test execution

Defect tracking and management

Test execution report and signoff report

Page 138: functional testing

Requirement analysis

In this phase tester will go through the requirements and understands the expectations of the customer

This phase helps to identify the scope of testing

If any requirement is not understood the tester can ask the business analyst .

The tester will derive the scenarios from this phase

Outcome of this phase is “testable requirements”

Page 139: functional testing

Test plan preparation

Test plan preparation which describes the intended scope , approach ,and schedule of the test activities .

Test plan preparation is prepared by the test lead .

Test lead will manage , organize and schedule the testing activities.

Page 140: functional testing

Test plan document consists of

Objectives

Scope of testing

Testing deliverabales

Roles and resposibilites

Assumption and risks

Contigency approch

Effect estimation

Schedule

Testing methodologies

Defect tracking

Entry exit criteria

Test automation

templates

Page 141: functional testing

Test plan flow chart

Requirement analysis

Preparation of test scenarios

Test case

review

Fix the

test case

reviews before

approval

Preparation of test cases based on

scenarios approval

Page 142: functional testing

What is test scenario

Test case scenario is a high level test condition which is derived from requirement analysis and it explains us what need to be tested .

When Business analyst will pass the requirements . Test engineer will prepare the test scenarios based on the requirements .

Page 143: functional testing

Why we need test scenarios ?

Test scenarios are important because these scenarios makes us understand the complex functionalities in the project .

Test engineer can easily understand the highly level conditions in the system .

Test engineers are responsible for test scenarios .

Page 144: functional testing

What is test case ?

The test case is a detailed specific condition which explains what need to be tested and how it need to be tested .

Test cases are derived from test scenarios

Test scenarios are derived from requirements

Test engineer will prepare test scenarios .

Page 145: functional testing

Why we need test cases ?

Test case is helpful in documenting the test condition in an organized approach.

These test case are reusable while we are testing the defects .

Test case design helps in saving execution time.

Test case clearly describe what we are testing how we are testing.

Page 146: functional testing

What are the qualities of good test cases?

Test case should be ease to understand .

Maintaining consistency

Test case should be reusable while finding defects .

Page 147: functional testing

Why test cases are important?

Test cases are designed from test scenarios

Test cases helps in planning what we are testing .

Test cases are reusable while finding defects.

Test cases makes testers easy to test .

Verification or prevention of defects in the project

Page 148: functional testing

Can we test an application without preparing test cases ?

Yes , this type of testing is called AD-HOC testing where testers will not follow any procedures or process , and they donot need any test cases .

Page 149: functional testing

What is testing technique?

With minimum inputs we provide maximum coverage .

Q) why we are applying test design?

To provide maximum test coverage with minimum time.

Page 150: functional testing

Different type of test designing techniques ?

Equivalence partitioning

Boundary valance analysis

Decision table testing

Error guessing

Page 151: functional testing

Equivalance partitioning

Identify similar behavior elements which produces same output.

Test atleast with one value for each class .

Q) why do we need equivalence partitioning ?

To cover entire application with minimum effort

Each test case must have single focus.

Page 152: functional testing

Boundary value analysis

Boundary value is analysis is derived from equivalence partitioning

It focus on the boundary

The steps using boundary value :

Identify equivalance class

Test equivalence of each class

Page 153: functional testing

Example for boundary value analysis

In web application password field must contain min 3 characters and max 14 characters .

Testing using boundary value analysis

- test using a value between 3 – 14- test using a value less than 3- test using a value more than 14

Page 154: functional testing

Decision table and error guessing

Decision table will help to capture the complex requirements of the project .

Error guessing : exploring the error messages associated with the system .

Use case integration : - a graphical representation between a actor and a action .

Page 155: functional testing

RTM(requirement tracebility matrix)

In our project we Rtm which is located in Bitrix tool

RTM is a connectivity between requirement and associate test case

RTM is used to trace the orphan requirement in the project

Orphan requirement means the requirement which is not linked with any one single requirement .

RTM is used to trace the reusable test cases.

Reusable test case means which is linked with multiple requirements .

Page 156: functional testing

Test environment readiness

Infrastructure management

Server configuration

Application Installation

Access permission

Test data loading

Page 157: functional testing

Steps to deploy ment

Kill the existing file in the system server

Copy the new file in the developer server

Restart system server

Page 158: functional testing

Who will deploy in your project ?

:- In my project developer will do deployment .

Q) Where you will maintain environment downtime tracker ?

:- In bitrix tool

Page 159: functional testing

what will happen if application is not available to testing team ?

If we face a environment issue in our project we will go for following procedure in my project :-

We will create a critical severity defect

Will send a mail high imp mail to the developer team and environment management team .

We will update this information in environment downtime tracker which we are maintaining in bitrix tool .

Page 160: functional testing

Test execution plan

In our project we divide the execution in cycles

cycle 1: we will test the entire test cases cycle 2: we will perform re-testing of the test cases cycle 3: we will perform regression testing