Download - Software Testing Presentation in Cegonsoft Pvt Ltd...

Transcript
Page 1: Software Testing Presentation in Cegonsoft Pvt Ltd...

Software Testing

Presented by: Chithra & Sureka

Page 2: Software Testing Presentation in Cegonsoft Pvt Ltd...

What is Software Types of Software and SDLC Spectacular Software Failures and Why software usually has faults? Quality Testing Software Testing and BUG Software Testing Types, Techniques, Classifications, Levels and STLC Difference Between Manual & Automation Automation Testing Tools Software Testing Job Market Role of Software Tester Skills required to Become a Software Tester 10 reasons why you are not getting job in software testing ? Specialization has come to stay in testing career Why Testing in cegonsoft? How we Different form Others? How Saturdays Classes will be helpful for Testers to get a Job? Launch Plan

Page 3: Software Testing Presentation in Cegonsoft Pvt Ltd...

Software Set of rules / programs that provides instructions to computer to tell What to do, when to do, how to do

Software Engineering Study of applying engineering to build software

Types of SoftwareSystem Software System software is any computer software which manages and controls computer hardware so that application software can perform a task.Application Software Application that we develop for others

Page 4: Software Testing Presentation in Cegonsoft Pvt Ltd...

•Project Based Companies•TCS, CTS, Infosys, Wipro

•Product Based Companies•IBM, HP, Temenos, First American

•Example•2 shops – pillow shop, tailor shop

Page 5: Software Testing Presentation in Cegonsoft Pvt Ltd...

Software Development Life cycle

– The process of developing a software product formally& logically. It describes stage of software development process with different methodologies.

Page 6: Software Testing Presentation in Cegonsoft Pvt Ltd...

PlanOrganize DesignDevelop

Test

Page 7: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 8: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 9: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 10: Software Testing Presentation in Cegonsoft Pvt Ltd...

Car - manufactured and given to the customer

Page 11: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 12: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 13: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 14: Software Testing Presentation in Cegonsoft Pvt Ltd...

What is Software Testing

The process used to identify the correctness, completeness and quality software application & executing under positive and negative conditions by manual or automated means.

It checks for the:• Specification• Functionality• Performance

Generate high quality test cases, perform effectivete tests, and issue correct and helpful problem reports.

Page 15: Software Testing Presentation in Cegonsoft Pvt Ltd...

History• The separation of debugging from testing was

initially introduced by Glenford J Myers in 1979. “a successful test is one that finds a bug”

• Debugging Oriented (until 1956)

• Demonstration Oriented (1957-1978) Testing done to check if software is satisfying

requirements- debugging and testing was distinguished separately

• Destruction oriented (1979-1982)process of executing the Program with intent of finding errors

Page 16: Software Testing Presentation in Cegonsoft Pvt Ltd...

• Evaluation Oriented (1983-1987)Detect faults -finding errors in requirement,

design and implementation• Prevention Oriented From 1988Prevent faults -finding errors in requirement,

design and implementationTesting Debugging

Finding and Locating a defect Fixing the defect

Done y testing team Done by Development team

Intension behind it is to find as many as defects as possible.

Intension is to remove those defects.

Page 17: Software Testing Presentation in Cegonsoft Pvt Ltd...

Software Testing Life Cycle (STLC)

Page 18: Software Testing Presentation in Cegonsoft Pvt Ltd...

Software Quality

• Confirms the Functional and nonfunctional requirements • providing the defect free products • meeting the customer satisfaction.

Page 19: Software Testing Presentation in Cegonsoft Pvt Ltd...

QUALITY ATTRIBUTES

There are 6 quality attributes: Functionality Reliability Usability Efficiency Maintainability Portability

Page 20: Software Testing Presentation in Cegonsoft Pvt Ltd...

• Functionality The ability of the product to function (to work efficiently)as per the user requirements.Example: bike Consider a bike, Verify the start functionality works as

expected.

• ReliabilityThe ability of the product to continue to function, over time and

over its full range of use, without failing or causing failure.Example Verify the start functionality works how long like it worked in the

beginning

Page 21: Software Testing Presentation in Cegonsoft Pvt Ltd...

• Usability Simply define as User friendliness and Whether the application is fit

for useVerifying the application is able to access by the end users

Example: mobile phone

• EfficiencyProcessing Speed, Time Taken to execute the task.

ExampleHow fast the web page is loadingHow fast the data gets retrieved

Page 22: Software Testing Presentation in Cegonsoft Pvt Ltd...

• MaintainabilityThe ability of the system to undergo changes easily.Also includes the data manipulation

ExampleHow easy the features can be added and updated in the application

• PortabilityThe ability of the system to adapt in various operating systems.ExampleC Programming can be executed in Microsoft windows OS and

Unix OS

Page 23: Software Testing Presentation in Cegonsoft Pvt Ltd...

Software quality is further divided into

Quality Assurance Quality control

Quality AssuranceQuality Assurance Quality ControlQuality Control

Defect Prevention.Defect Prevention. Defect Detection.Defect Detection.

Process OrientedProcess Oriented Product OrientedProduct Oriented

Identifies weaknesses in Identifies weaknesses in processes and improves processes and improves them.them.

Identifies defects for the Identifies defects for the primary purpose of primary purpose of correcting defects.correcting defects.

Page 24: Software Testing Presentation in Cegonsoft Pvt Ltd...

What Do We Test

We will perform testing first on major, important, critical and popular features and after we will test minor functionalities

Page 25: Software Testing Presentation in Cegonsoft Pvt Ltd...

TestingTesting MethodologiesMethodologies

• Functional TestingFunctional Testing• Non Functional TestingNon Functional Testing

• Black box testingBlack box testing• White box testingWhite box testing

Page 26: Software Testing Presentation in Cegonsoft Pvt Ltd...

Black box testing• No knowledge of internal program design or code

required.• Tests are based on requirements and functionality.

White box testing White-box testing (also known as clear box testing,

glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application which is testing the source code / program developed.

Performed to verify the Non Functional requirements of the application

Page 27: Software Testing Presentation in Cegonsoft Pvt Ltd...

Functional Testing types The identification of functions that the software is expected

to perform and verifying whether the software is working as per the requirement

Functions are tested by feeding them input and examining the output

It can be done both Manually or automated using tools.

Smoke testing Sanity testing Exploratory testing Ad hoc testing Compatablity testing Stuctured functional testing

Page 28: Software Testing Presentation in Cegonsoft Pvt Ltd...

• Smoke Testing: smoke testing is to verify the major functionalities of the application

Eg:login, inbox, compose mail

• Sanity Testing: sanity testing is to verify minor or each functionality in the particular application

Eg: check box radio button etc in inbox .

• Compatablity Testing: It is done to verify how the system is compatible in various operating system, platforms and browsers

Page 29: Software Testing Presentation in Cegonsoft Pvt Ltd...

• Explora tory Testing: how the software works and to ask questions about how it will handle easy and difficult situations the tester should know more about the product and he wants to explore more number of test cases to find out how the software is working

• AD HOC Testing: This is not structured testing method and also it is a least formal method it is used to do testing as soon as possible

Page 30: Software Testing Presentation in Cegonsoft Pvt Ltd...

NON- FUNCTIONAL TYPES

PerformanceStressLoadScalabilityUsabilitySecurityPortabilityReliability

Page 31: Software Testing Presentation in Cegonsoft Pvt Ltd...

Performance testing

• Performance testing allows testers to judge how well an application or website performs under specific circumstances. Measuring the time taken, the scalability and reliability of an action is key to performance testing.

• There are three objectives (three S) of Performance testing to observe and evaluate;

Speed, Scalability and Stability

Page 32: Software Testing Presentation in Cegonsoft Pvt Ltd...

Load testing- Testing an application under heavy loads.Example: If the capacity of the lift is 10 people testing it with

10 people is called load testing

Stress testing- Stress Testing help us to observe the stability of the application.

Endurance Testing- Endurance testing reveals

about memory utilization when you load your test for prolong executions.

Spike Testing- Spike Testing is performed by

sudden increase/decrease in load and observing the behavior of the application.

Page 33: Software Testing Presentation in Cegonsoft Pvt Ltd...

Scalability Testing-is the testing of a software application for measuring its capability to scale up/ out- in terms of any of its non-functional capability - be its user load supported, the number of transactions, the data volume etc.

Recovery testing-Testing how well a system recovers from crashes, HW failures or other problems.

Install/uninstall testing-Testing the application is able to install and un install in various operating system and platforms

Page 34: Software Testing Presentation in Cegonsoft Pvt Ltd...

Testing Levels•Unit testing•Integration testing•System testing•Acceptance testing

Page 35: Software Testing Presentation in Cegonsoft Pvt Ltd...

UNIT TESTING• Tests each module individually.

• Follows a white box testing (Logic of the program).

• Done by developers. Lowest level of testing

Page 36: Software Testing Presentation in Cegonsoft Pvt Ltd...

INTEGRATION TESTING• Once all the modules have been unit tested,

integration testing is performed.

• It is systematic testing.

• Produce tests to identify errors associated with interfacing

Page 37: Software Testing Presentation in Cegonsoft Pvt Ltd...

Component integration testing

• Ensures that the individually unit work together as whole and the data flow across unit as per the requirement

• Done after two are more models are developed and successfully unit tested

• Both black box and white box testing can be used• Performed by both developers and testers• Entry criteria is after completing the unit testing• Exit criteria If the integration between the modules are

working fine

Page 38: Software Testing Presentation in Cegonsoft Pvt Ltd...

Approaches in component integration testing

• Top down approach• Bottom approach • Big bang approach

Page 39: Software Testing Presentation in Cegonsoft Pvt Ltd...

Top-down approach

• Here the top level modules are tested first and lower level modules are tested separately

• Here Stubs are used to stimulate if some lower level modules are not available

• Stubs wont communicate

Page 40: Software Testing Presentation in Cegonsoft Pvt Ltd...

Bottom-Up Approach

• In this approach bottom most modules are tested first and then moving upward step by step

• Here Drivers are used to stimulate if some higher level modules are not available

• Drivers will communicate

Page 41: Software Testing Presentation in Cegonsoft Pvt Ltd...

Big Bang Approach • Here all the units are most of the unit are tested at one go• Most of the defects can be uncovered early in the test

process• Used when testing team receives entire software in a bundle

Page 42: Software Testing Presentation in Cegonsoft Pvt Ltd...

SYSTEM TESTING

• In this level we are going to validate the entire system is working as per the requirement after completing the Integration testing

• This level involves testing the whole application• This is done by testers• Individual module may work as desired but it may fail as

system• Some of the scenarios will be covered only in this level

Page 43: Software Testing Presentation in Cegonsoft Pvt Ltd...

• In this level both Black Box and White Box technique can use• Performed by independent Testing team• Entry Criteria is after completing unit and integration testing • Exit Criteria is after the whole system is working as per the

requirement

Example • Consider yahoo mail website after completing unit and

integration testing here we are going to test the application in whole whether all the modules are as per requirement like verifying after completing login we are able to compose a mail and we are able to access the inbox

Page 44: Software Testing Presentation in Cegonsoft Pvt Ltd...

SYSTEM INTEGRATION TESTING

• In this level we are going to verify the interface of the application with other systems is working

• Some of the external devices and systemLan /van communications middlewareIntranet / InternetPrinters

Page 45: Software Testing Presentation in Cegonsoft Pvt Ltd...

In this level we are following two approachesRisk based• Identifying the system integration points which are critical to

business• Prioritize them and perform sequentially Divide and Conquer • Test the other applications first• Test the connections• Combine incrementally

Page 46: Software Testing Presentation in Cegonsoft Pvt Ltd...

USER ACCEPTANCE TESTING• Testing done by clients and end users • There are two types Alpha testing Beta testing

• Alpha testingIn this process client will come to our place and validate the

application is working as per the brs (business requirement specification)

Page 47: Software Testing Presentation in Cegonsoft Pvt Ltd...

• Beta testing Here the application developed is tested in client location and

validate the application is working as per the brs (business requirement specification)

Validates Whether the application is fit for use Performed after st , sit or in parallel Done by customer, Business user and Independent testing

team

Page 48: Software Testing Presentation in Cegonsoft Pvt Ltd...

Manual &Automation testing

Manual Testing• It is the process of testing the application manually by

creating test case• This process is done by executing the test case manually• It is cost effective• Mostly preferred for one time testing

Page 49: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 50: Software Testing Presentation in Cegonsoft Pvt Ltd...

Automation• This process is done using tools • Tools will create test script and it will execute the test• It is not cost effective &some special training is required• This process is useful when functionality is to be repeatedly

tested• Save lot of time• Sometimes few defects may miss

Page 51: Software Testing Presentation in Cegonsoft Pvt Ltd...
Page 52: Software Testing Presentation in Cegonsoft Pvt Ltd...

What …????…is an ”ERROR”??

….is a ”Bug”??

….is Fault, Failure ??

Page 53: Software Testing Presentation in Cegonsoft Pvt Ltd...

Bug, Fault & Failure..A person makes an Error

That creates a fault in software That can cause a failure in operation

• Error : An error is a human action that produces the incorrect result that results in a fault.

• Bug : The presence of error at the time of execution of the software.

• Fault : State of software caused by an error.• Failure : Deviation of the software from its expected result. It

is an event.

Page 54: Software Testing Presentation in Cegonsoft Pvt Ltd...

Bug Life Cycle

New

Assigned

Tester finds the bug and report it to Test Lead

Test Lead confirms that it is a valid BugBug

Resolved

Re-open Verified

Closed

Deferred

Page 55: Software Testing Presentation in Cegonsoft Pvt Ltd...

When to Stop testingThe Important factors to decide when to stop testing are

Critical and key Test cases are completed

Testing budget of the project

Functional coverage and Code coverage meeting the Requirement as per the Benchmark

Defects rate level falls below the specified level

High priority bugs are solved

Page 56: Software Testing Presentation in Cegonsoft Pvt Ltd...

Role of a SoftwareTester.

• Find bugs as early as possible and make sure they get fixed.

• To understand the application well.

• Study the functionality in detail to find where the bugs are likely to occur.

• Study the code to ensure that each and every line of code is tested.

• Create test cases in such a way that testing is done to uncover the hidden bugs and also ensure that the software is usable and reliable

Page 57: Software Testing Presentation in Cegonsoft Pvt Ltd...