Day2

 Types of SDLC Models:

1.Sequential Model:

1.WaterFall(linear Model)

-It is Base of all other Model

-Every Activity in this case is sequenced means next activity/phase can not be started till the time previous activity/phase is incomplete.

-And you can not rollback(Can not go to previous phase)

-Since It is sequencial model Testing activity starts in testing phase Only

Adv:

1.Best Suited for Small Scale Project


DisAdv:

1.Not Suited For Bigger/Complex Project since Defect Multiplication Chances is there

2.Testing Starts in Testing Phase Only Hence high chance defect multiplication from First Phase(Requirement)

3.Customer can not change/add requirement in between development

4.Customer can not see thier product (It is visible towards End of SDLC).


2.V-model

2.Iterative|Incremental Model:

1.Agile

2.Spiral

3.RAD model


Iterative|Incremental Model:

----------------------------

1000 req

250 req  > R1

250 req > R2

250 req  > R3

250 req  > R4


R1 >D >C >T >Dep >Maintenance Iteration 1

R1 + R2 >D >C >T >Dep >Maintenance Iteration 2

R1 + R2 + R3 >D >C >T >Dep >Maintenance Iteration 3

R1 + R2 + R3+R4 >D >C >T >Dep >Maintenance Iteration 4


Last Iteration will give Complete product


Adv:

1.Getting working product in Short Period which will solve Business Problem & due to which less loss in business

2.Feedback from previous version can be taken & it is added to next iteration.


DisAdv:

1.It is not Suited for Smaller Project

2.It is time consuming

2.It is Cost Consuming


Agile:

-----

Product Backlog : Total Pending Requirement/User Story for Complete Product

Sprint Backlog  : Total Pending requirment / User Story for One Iteration


1000 User Story

250 req  > R1

250 req > R2

250 req  > R3

250 req  > R4


1st Day of Engineering

 Total Subject to Clear Degree : 40    : Product Backlog ()

 Total Subject  per Sem to Clear : 5


R1 >D >C >T >Dep >Maintenance Iteration/Sprint 1

PB:1000 PB:750

SB:250 SB:0


R1 + R2 >D >C >T >Dep >Maintenance Iteration 2

PB:750 PB:500

SB:250 SB:0


R1 + R2 + R3 >D >C >T >Dep >Maintenance Iteration 3

PB:500 PB:250

SB:250 SB:0


R1 + R2 + R3+R4 >D >C >T >Dep >Maintenance Iteration 4

PB:250 PB:0

SB:250 SB:0


Scrum Master : Team Lead > Gives Guidance & Support

Product Owner : BA


Whole Team Approach:

--------------------

A group is framed in Which designer, programmer, tester, customer representative will be involve.


Adv:

1.Quality is not responsibility of indivisual person its a group responsibility.

2.Customer is acting as immediate Validator which will give high Quality of End Product

3.There will be 15 min Daily StandUp Meeting (Due to this transParancy within team is there)

- What Happened YesterDay

- Any bottleneck ?

- What is Planned for Today ?

4.Scrum Board also Adds in transParancy: (Notice Board of Your Collage)

To Do In Progress Done

----- -----------         -------

        Writting TC

        Writing Code

User Story:

------------

As a Customer 

I want login Function

So that I can do banking transactions at any time


>Agile Iterations happens for 1-4 weeks only


Retrospective Meeting:

----------------------

Happens at the end of Every Iteration/sprint to Check what went right, what went wrong & What is improvement areas for future.

----------------------------------------------------------------------------------------------------


Are we building product right ?

>Checking Process

>QA Activity

>Verification/Review

Are we building right product ?

>Checking Product

>QC Activity

>Validation


Verification Validation

------------ ------------

1.Are we building product right ? 1.Are we buildimg right product ?

2.Checking of Process 2.Checking of Product Happens

3.QA Activity 3.QC Activity

4.Also Known as Static Testing 4.Also Known as Dynamic Testing

5.Done By manually reading/verifying 5.Done By Executing Product/Software

Documents

6.Done in All phases of SDLC 6.Done in Last 3 Phases of SDLC

7.Defect Preventive Approach 7.It is Defect Detective & Corrective Approach

8.Defect found will cost less for 8.Defect found here will cost more for fixing

fixing

9.It can tell exact root cause of Defect 9.It can tell only Presence of Defect & not about 

the root cause of Defect

10.Techniques 10.Techniques of Validation(Levels of Testing):

1.Walkthrough 1.Unit Testing

2.Inspection 2.Integration Testing

3.Syetem Testing

4.Acceptance Testing


Verification Tech:

1.Walkthrough:

>In general , Informal Process(No Planning, Scheduling,No rules/Protocol, no documentation of Meeting)

>Explaining Document to EveryOne  so that everyOne Should be on Same Page/level

>Meeting is led by Author of the Document

>Objective: Learning, underStanding & finding the defects as well

>Can be formal as per ISTQB


2.Inspection

>Done at the end of Every phase to check 'is the phase is completed & Can we move to next phase or not ?'

>Objective : Finding Defect

>It is formal Process(Proper Planning, Scheduling & Rules are used)

>Checklist is used to increase number of Defects


5 Major Roles

-------------

Moderator : Co-ordinator who communicates time, venue, agenda to everyOne

Author : Who's Document is under inspection

Reader : Who reads problem for EveryOne

Recorder : Who notes minutes of Meeting

Reviewer/Inspector : Domain Expert of Particular Phase


Validation Techniques(Levels of Testing):

-------------------------------------------

1.Unit testing/Component Testing/ Module Testing/Programme Testing:

-Checking Small Piece of Executable Code which is able to provide some output.

-Done by developer

-Test Method:

-White Box Testing

-Black Box testing


-If Unit is Working fine then Integration Testing will become easier


2.Integration Testing:

>It is Checking communication/intraction  between two or more modules

>Approaches:

1.Top Down Approach:

- Parent Module is ready & Child Module is not ready

- First Dummy of Child is Made Known as STUB 

- And Then Integration is Checked with dummy module

- And if EveryThing is fine with dummy then actual module is 

  Made


2.Bottom-Up Approach:

-Child Module is Ready & Parent Module is not ready

-First Dummy of Parent is made known as DRIVER

-And Then Integration is Checked with Dummy Module

-And if EveryThing is Fine with dummy then Actual module 

is developed.


Adv of Making first Dummy:

--------------------------

1.Early detection of Compatibility Problem

80-90% applications are in maintenance phase hence most of time Top- Down approach is Used 


System Testing:

--------------

>System is framed if we combine all modules into single unit & System testing happens after this only.

>It is final phase of Testing from development organization Hence Main Objective should be find as many as possible defects

>After this Software will be visible to end user Hence Seperate Testing Team is involve for increasing number of Defects

>If More defacts are found them Quality of Software will increase if those defects are fixed

>All requirements( functional & non-functional ) is tested in detail to increase quality


Acceptance Testing:

-------------------

>It is decision making point to accept the product(software) or to reject

>It is done by Client or Client representative


1.User Acceptance Testing:

It is done by Business User(A user which is going to use application for making business).

Alpha Testing: Testing done by end user within Organization(Customer will come to development ------------- Organization & then do testing)

Beta Testing:Testing done by end user at customer side(Live Environment)

------------


2.Operational AT:

>It is done by System Engineer who is responsible for doing daily Operational activities 

like installation, re-installation, Data-recovery, user management(create, edit or delete user).

3.Contractual & Regulatory AT:

Contracuual AT:

-When two parties agrees for some project then contract criteria is made

-During delivery of Product/Software contract criteria is checked 


Regulatory AT:

-Your application should follow guidelines given by any nation or international organization depending on Domain of Application


------------------------------------------------------------------------------------------------------

Life Cycle Testing: It says Every Development Activity Should have Testing activity associated with it


Advantage: Defect multiplication will not happen to upcoming phases.


V-model

-----------------------------------------------------------------------------------------------------


Types of Testing:

----------------

1.Testing related to Change

1.ReTesting / Confirmation Testing

Defect is Found > Defect is reported to devloper >Developer will Fix (By doing Some Changes in Source Code) > Tester will confirm about Defect is fixed or not (RETESTING)


What : It is re-execution of failed TC

When : After defect is fixed By Developer

Why  : To make sure/confirm defect is actually fixed or not ?


2.Regression Testing:

What: Checking impact/effect of Change part/portion on Unchange part/portion

When: After any Change

1.Defect fixing

2.Add new requirement

3.Delete or modify requirement/feature

4.Changing Environment also

Why : To make sure due to Changes there should not be any new Defects.


1000 TC is executed 

800 TC is Passed

200 TC is Failed


ReTesting : 200 TC

Regression Testing: Unknown (<=800)


Impact Analysis: It is process of Anlyzing number of Pass Test Cases(Unchange) which is directly  

--------------- connected to Failed Test Cases (Changed Part) using RTM.

>Impact Analysis will give you number of Test Cases for regression Testing.


RTM(Requirement Traceability Matrix):

-------------------------------------

It is document in which mapping between Requirement & respective test cases is there. At least two columns are there(Requirement Name/id & Test Case ID).


Benefits of RTM:

---------------

1.Used in Impact Analysis for Regression Testing.

2.You get information about requirement Coverage(All the requirement is covered in testing or not )

Requirement Coverage should be always 100%


Since Regression Testing is repitative in nature it is best suited for Automation Testing.

Automation Tool for Regression Testing: Selenium, QTP(UFT)-HP,RFT- IBM


2.Testing related to Function

Smoke Testing/BAT/BVT/Confidance Testing/Intake Testing:

What: Checking of Basic/ Critical Features like application is starting, stopping, or       performing other basic Operations.

When: Before Starting detail Testing or System Testing or Actual Testing

Why:  To Check Stability or Testability (Is received build is Stable enough to face major                                  testing)


Done by either Tester or devloper or both


Sanity Testing:

---------------

What:Checking added new Functionalities & bug fix 


When: After approx. build no 30(When build is relatively after multiple rounds of Testing )


Why : To Check Stability or Testability (Is received build is Stable enough to face major               testing)


Done by Software Tester Only.



3.Testing related to Non-Function:

----------------------------------

Performance Testing:

-------------------

What : Checking behavior of application w.r.t response time (How Quickly Application is Opening)

Response time : It is time difference between 1st bit of request & last bit of         Response


When : After Functional Testing 

Why(Objective): To Check application is loading in proper time or not. 


Load Testing: Checking with Customer specified load(number of users).

Stress Testing: Checking with load beyond customer specified load & keep on increasing to find break point or Crash Point



Performance Testing is done by automation tool since arranging multiple user physically is not possible. For Example: Jmeter, LoadRunner-HP, RPT-IBM


Compatibility Testing(Multi-Platform Testing):

What : Checking with Multiple Platform(H/W + S/W( OS + Browser(In case of WebSite) ))

When : After Functional Testing 

Why : Application should support multiple Browser or OS so that number of Audience will increase & if Number of Audience is Increase then Business will also increase


>Checking with Multiple Browser i.e. Chrome, Firefox, Opera etc

>Checking with multiple Version of Same Browser i.e. Chrome version 90, 91, 92

>Checking with Multiple OS i.e Windows, Linux, MAC

>Checking with Multiple version of Same OS i.e. Windows 7, Windows 10,Windows 8, 


Usability Testing :

What : Checking the 'How much easy is the application to use'.

Ease of Use.

When : After Functional Testing

Why : Application should be easy to use for everyOne. It should be balance between new User & old/Experience User.


>Developer & Tester are not good as Usability Tester since they already know How to Use the application.


COTS(Commercial off the Shelf): Software for General People means EveryOne can use this like 

WhatsApp. Thus usability testing of this type of Software happens by user                                           survey(Checking with multiple user), video recording, feedback etc. 

Custom Software : This Software is for Specific Company/Group of User.

  Usability testing of this type of Software Happens with Specific User(not     with multiple User)


User Interface Testing:

What : Checking GUI(color, font, size,allingment etc). 

Here User friendliness is Checked

When: After Functional Testing.

Why :GUI is First impression Hence it attracts user. Thus if Application is not having good         GUI then customer will automatically get disatisfaction


>Application should consistant with appearance.

>Spelling & Grammatical mistake is also verified

>If your application is not having good GUI then it will automatically becomes difficult to use.


Maintenance Testing:

--------------------

What: Regression Testing done in Maintenance phase will be called as Maintenance Testing.

Checking Impact of Change Part on UnChange Part is Checked

When : After doing any kind of Changes

Why : Due to Changes there should not be any new Defect

Comments