The process of executing and verifying whether the application or a program or system meets the customer requirements with the intent of finding errors.
2.
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
3. 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 Software
System 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
4. •Project Based Companies
•TCS, CTS, Infosys, Wipro
•Product Based Companies
•IBM, HP, Temenos, First American
•Example
•2 shops – pillow shop, tailor shop
5. Software Development Life cycle
– The process of developing a software product formally&
logically. It describes stage of software development
process with different methodologies.
14. 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.
15. 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
16. • Evaluation Oriented (1983-1987)
Detect faults -finding errors in requirement,
design and implementation
• Prevention Oriented From 1988
Prevent faults -finding errors in requirement,
design and implementation
Testing
Debugging
Finding and Locating a defect
Fixing the defect
Done y testing team
Done by Development team
Intension behind it is to find as Intension is to remove those
many as defects as possible.
defects.
18. Software Quality
• Confirms the Functional and nonfunctional requirements
• providing the defect free products
• meeting the customer satisfaction.
19. QUALITY ATTRIBUTES
There are 6 quality attributes:
Functionality
Reliability
Usability
Efficiency
Maintainability
Portability
20. • 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.
• Reliability
The 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
21. • Usability
Simply define as User friendliness and Whether the application is fit
for use
Verifying the application is able to access by the end users
Example: mobile phone
• Efficiency
Processing Speed, Time Taken to execute the task.
Example
How fast the web page is loading
How fast the data gets retrieved
22. • Maintainability
The ability of the system to undergo changes easily.
Also includes the data manipulation
Example
How easy the features can be added and updated in the application
• Portability
The ability of the system to adapt in various operating systems.
Example
C Programming can be executed in Microsoft windows OS and
Unix OS
23. Software quality is further divided into
Quality Assurance
Quality control
Quality Assurance
Quality Control
Defect Prevention.
Defect Detection.
Process Oriented
Product Oriented
Identifies weaknesses in
processes and improves
them.
Identifies defects for the
primary purpose of
correcting defects.
24. What Do We Test
We will perform testing first on major,
important, critical and popular features and
after we will test minor functionalities
26. 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
27. 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
28. • 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
29. • 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
31. 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
32. 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.
33. 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
35. UNIT TESTING
•
Tests each module individually.
•
Follows a white box testing (Logic of the program).
•
Done by developers. Lowest level of testing
36. 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
37. 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
38. Approaches in component integration testing
• Top down approach
• Bottom approach
• Big bang approach
39. 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
40. 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
41. 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
42. 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
43. •
•
•
•
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
44. 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 system
Lan /van communications middleware
Intranet / Internet
Printers
45. In this level we are following two approaches
Risk 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
46. USER ACCEPTANCE TESTING
•
•
Testing done by clients and end users
There are two types
Alpha testing
Beta testing
• Alpha testing
In this process client will come to our place and validate the
application is working as per the brs (business requirement
specification)
47. • 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
48. 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
49.
50. 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
•
•
•
•
53. 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.
54. Bug Life Cycle
Tester finds the bug
and report it to Test Lead
Bug
Test Lead confirms
that it is a valid Bug
New
Deferred
Assigned
Resolved
Re-open
Verified
Closed
55. When to Stop testing
The 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
56. 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
Notas del editor
Allows you to connect eye-to-eye with your audience in a meaningful way.