Quality assuarance bharath anche (1)

Post on 17-Aug-2015

29 views 6 download

Transcript of Quality assuarance bharath anche (1)

SOFTWARE TESTING / functional testing

R & D Bharath Anche

(Passionate Tester )

abharathc9999@gmail.com

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 .

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

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 .

Examples Of quality Assurance ?

• Verification of software

• ISO

• IEEE

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

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

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 .

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.

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.

Disadvantages of validation ?

• Include more man power or operations to maintain quality control .

• adding more time to the initial process.

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 .

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

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

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

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

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

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

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

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.

Types of architecture

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

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

phases of SDLC

• Planning

• Analysis

• Design

• Built

• Test

• Deployment

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”

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 )

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

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

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

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

Types of approaches to be followed in product development

• Sequential approach

• Incremental approach

• Iterative approach

• Prototype approach

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

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

Prototype approch

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

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 .

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

Flow chart of water fall model

• review Review

• 100% 100%

• Review

• 100%

• Review

• 100%

planing

analysis

design

built

Test

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 .

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 .

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

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 .

• Step 5 : we will send requirement changes to client

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

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 .

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

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

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 .

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 .

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 .

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 .

Testing classifications

• Testing is classified in to two

Static testing Dynamic 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

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

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

.

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

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);

• }

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

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--)

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.

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

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 .

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.

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 .

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

• 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

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 .

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.

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

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.

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 .

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.

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.

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 .

• Availability : availability of information to authenticated authorized person .

Security testing techniques

• Access to application

• Password cracking

• Data protection

• Sql injection

• Cross file crypting

• Phishing

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 .

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 .

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 .

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.

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 .

Characteristics of conventional testing

• Preplanned approach

• Organized approach

• Pre defined set of test cases

• Process oriented

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

Disadvantages of adhoc testing

• There will be no control over test coverage .

• This test may not cover 100%

• Requirement coverage may not be covered .

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 .

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 .

What is adhoc regression testing ?

• Testing the previously working or retested functionality without writing test cases is called adhoc regression 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 .

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 .

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.

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 .

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.

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

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.

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

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 .

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 .

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 .

Installation testing

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

• This installation testing is performed by deployment team.

Localization testing

• Testing the applications with different type of languages .

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

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 .

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

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

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

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 .

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.

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 .

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 .

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 .

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 .

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.

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 .

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

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 .

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 .

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 .

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 .

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.

Scrum roles

• The group of people involved in scrum project

a) product ownerb) scrum team c) scrum master

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 .

Different types of meetings in scrum

• Daily scrum meeting

• sprint review meeting

• Sprint retrospective

• Print planning meeting

Diagrammatic representation of scrum

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 .

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 )

Visualize your work

• 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.”

Collaboration in real time

• 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

Sub tasks in KanBan

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

Kan ban is Built for speed

• The things are done very quickly in this Kanban process .

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

Time tracking with pomodorosupport

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

Document and file attachment in kan ban

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

Analyze (cumulative flow ,leadtime and cycle)

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

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

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

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”

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.

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

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

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 .

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 .

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 .

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.

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 .

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

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 .

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.

Different type of test designing techniques ?

• Equivalence partitioning

• Boundary valance analysis

• Decision table testing

• Error guessing

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.

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

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

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 .

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 .

Test environment readiness

• Infrastructure management

• Server configuration

• Application Installation

• Access permission

• Test data loading

Steps to deploy ment

• Kill the existing file in the system server

• Copy the new file in the developer server

• Restart system server

• Who will deploy in your project ?

:- In my project developer will do deployment .

Q) Where you will maintain environment downtime tracker ?

:- In bitrix tool

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 .

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