Você está na página 1de 41

TESTING CONCEPTS

Basics for a Technical


Recruiter
Software testing is the process of evaluation a software item to
detect differences between given input and expected output.

It includes a set of activities conducted with the intent of finding


errors in software so that it could be corrected before the product
is released to the end users.

In simple words,software testing is an activity to check whether


the actual results match the expected results and to ensure that
the software system is defect free.
SEVEN PRINCIPLES OF
TESTING

Testing shows presence of defects


Testing reduces the probability of undiscovered defects remaining in the
software but even if no defects are found, it is not a proof of
correctness.

Exhaustive testing is impossible


Instead we need optimal amount of testing based on the risk
assessment of the application.

Early testing
Testing should start as early as possible in the Software Development
Life Cycle

Defect clustering
which states that a small number of modules contain most of the
defects detected.
SEVEN PRINCIPLES OF TESTING

Pesticide paradox -
If the same tests are repeated over and over again , eventually the
same test cases will no longer find new bugs

Testing is context dependent -

Finding and fixing defects does not help if the system build is
unusable and does not fulfill the users needs & requirements

Absence of errors fallacy -

Finding and fixing defects does not help if the system build is
unusable and does not fulfill the users needs & requirements
SDLC , STLC & V-MODEL
What are the various components of STLC?

Various components of "Software Testing Life Cycle" are

Requirements Document
Preparation of Test Plan
Preparation of Test Cases
Execution of Test Cases
Analysis of Bugs
Reporting of Bugs
Tracking of Bugs till closure
Software Testing - Types of Testing

This section describes the different types of


testing that may be used to test a software during
SDLC.
What is meaning of Manual Testing

In Manual Testing , Testers manually execute test cases without


using any automation tools. Manual testing is the most primitive of
all testing types and helps find bugs in the software system.

Any new application must be manually tested before its testing


can be automated. Manual testing requires more effort, but is
necessary to check automation feasibility.

Manual Testing does not require knowledge of any testing tool.


Manual Testing types:
White Box Testing

White Box testing / Glass box Testing

White box testing, glass box testing or structural testing is used to


check that the outputs of a program, given certain inputs, conform to
the structural specification of the program. It uses information about
the structure of the program to check that it performs correctly.

To Ensure That all independent paths within a module have been


exercised at least once.

All logical decisions verified on their true and false values.

All loops executed at their boundaries and within their operational


bounds internal data structures validity.
Black-box testing

Black-box testingtreats the software as a "black box",


examining functionality without any knowledge of internal
implementation. The testers are only aware of what the software
is supposed to do, not how it does it

Main focus in black box testing is on functionality of the


system as a whole
Grey-Box Testing

Grey-box testing is a technique to test the application with


having a limited knowledge of the internal workings of an
application. In software testing, the phrase the more you know,
the better carries a lot of weight while testing an application.

Mastering the domain of a system always gives the tester an


edge over someone with limited domain knowledge. Unlike black-
box testing, where the tester only tests the application's user
interface; in grey-box testing, the tester has access to design
documents and the database. Having this knowledge, a tester can
prepare better test data and test scenarios while making a test
plan
A Comparison of Testing Methods

Microsoft Office
Excel Worksheet
Manual Testing Types -Unit Testing

The primary goal of unit testing is to take the smallest


piece of testable software in the application, isolate it from
the remainder of the code, and determine whether it
behaves exactly as you expect.

Each unit is tested separately before integrating them


into modules to test the interfaces between modules.
Unit Testing is performed by using theWhite Box
Testingmethod.
Unit Testing is the first level of testing and is performed
prior toIntegration Testing.
Manual Testing Types - Unit Testing - Tasks

Unit Test Plan


Prepare
Review
Rework
Baseline

Unit Test Cases/Scripts


Prepare
Review
Rework
Baseline

Unit Test
Perform
Manual Testing Types - Integration Testing

Integration testingis the phase in softwaretestingin which


individual software modules are combined andtestedas a group.
It occurs after unittestingand before validationtesting.

Integration testing:Testing performed to expose defects in


the interfaces and in the interactions between integrated
components or systems.
Either Developers themselves or independent Testers
perform Integration Testing.

Integration Testing is performed afterUnit Testingand


beforeSystem Testing.
Manual Testing Types - System Testing

The process of testing an integrated system to verify


that it meets specified requirements.

Normally, independent Testers perform System Testing.

Usually,Black Box Testingmethod is used.

System Testing is performed afterIntegration Testingand


beforeAcceptance Testing.
Manual Testing Types -Acceptance Testing

Acceptance Testingis a level of the software testing


process where a system is tested for acceptability.

Usually,Black Box Testingmethod is used in


Acceptance Testing.

The purpose of this test is to evaluate the systems


compliance with the business requirements and assess
whether it is acceptable for delivery.
Manual Testing Types -Acceptance Testing -
Tasks

Acceptance Test Plan


Prepare
Review
Rework
Baseline

Acceptance Test Cases/Checklist


Prepare
Review
Rework
Baseline

Acceptance Test
Perform
Manual Testing Types -Acceptance Testing

This is arguably the most important type of testing, as it is


conducted by the Quality Assurance Team who will gauge
whether the application meets the intended specifications and
satisfies the clients requirement. The QA team will have a set
of pre-written scenarios and test cases that will be used to test
the application.
By performing acceptance tests on an application, the testing
team will deduce how the application will perform in production.
There are also legal and contractual requirements for acceptance
of the system
What is Regression Testing?

After the bug fixed , testing the application whether the fixed
bug is affecting remaining functionality of the application or not.

Tester must check that new updating or change in the


functionality of a particular component or module does not create
any disorder and any negative effects on the functionality of the
application
Alpha Testing

This test is the first stage of testing and will be performed


amongst the teams (developer and QA teams). Unit testing,
integration testing and system testing when combined together is
known as alpha testing.

During this phase, the following aspects will be tested in the


application:

Spelling Mistakes

Broken Links

Cloudy Directions

The Application will be tested on machines with the lowest


specification to test loading times and any latency problems .
Beta Testing

This test is performed after alpha testing has been


successfully performed. In beta testing, a sample of the
intended audience tests the application.

Beta testing is also known aspre-release testing.


Smoke Testing

Smoke testing is a two point agenda , comprising of mainly

Whether the application is running

we check we have the correct version is installed,

Means that right versions of databases are linked, APIS and middle
layer, to check the
whole configuration is rightly linked with the correct versions

Anytime a code is deployed and new build is available


Sanity Testing

Sanity Test is concentration on the functionality , mostly


critical functionality

Whether we can check the software which we are testing, we


look at the critical functionality that is mandatory for us to
work further.
Smoke Testing & Sanity Testing
Sample Resume Manual Testing

Micros oft Office


Word 97 - 2003 Document
Automation Testing

Automation testing, which is also known as Test Automation, is


when the tester writes scripts and uses another software to test the
product. This process involves automation of a manual process.
Automation Testing is used to re-run the test scenarios that were
performed manually, quickly, and repeatedly.
Automation Testing - When to Automate?

Apart from regression testing, automation testing is also


used to test the application from load, performance, and
stress point of view. It increases the test coverage, improves
accuracy, and saves time and money in comparison to
manual testing.
Test Automation should be used by considering the following
aspects of a software:

Large and critical projects


Projects that require testing the same areas frequently
Requirements not changing frequently
Accessing the application for load and performance with many
virtual users
Stable software with respect to manual testing
Availability of time
Sample Resume Automation Testing

Micro s oft Office


Word 97 - 2003 Do cument
Differences between Automated and Manual
testing

Manual Testing Automated Testing


Automated Testing is fast and
Manual Testing is slow and cheaper,however, this statement may
costly not hold good for all types of testing . It
is applicable for repetitive tests.
Manual Testing does not
scale well , i.e. in the case
of long running tests and
Automated testing can be very
testing repetitively, the
consistent and free of human errors
results might prove to be
in consistent and error
prone
It can be very efficient in repetitive
It is not repeatable
testing
It is very effective in Automation testing might not be very
review process useful in review process
Software Testing Tools

HP Quick Test Professional


Selenium
IBM Rational Functional Tester
SilkTest
TestComplete
Testing Anywhere
WinRunner
LaodRunner
Visual Studio Test Professional
WATIR
Different Types of Testing Roles Certifications

Microsoft Office
Excel 97-2003 Worksheet
Functional Testing Vs Non-Functional Testing

Functional Testingis the type of testing done against the


business requirements of application. It is a black box type of
testing.

In thetypes of functional testingfollowing testing types should


be cover:

Unit Testing
Smoke testing
Sanity testing
Integration Testing
Interface Testing
System Testing
Regression Testing
UAT
Functional Testing Vs Non-Functional Testing

The non Functional Testing is the type of testing done against


thenon functional requirements. Most of the criteria are not
consider in functional testing so it is used tocheck the readiness
of a system.
Non-functional testing involves testing a software from the
requirements which are nonfunctional in nature but important
such as performance, security, user interface, etc.
What is Performance Testing ?

Testing the present working condition of the product .

Used to verify performance behaviors for business functions


under the normal and heavy work conditions.

Simplified Definitions Performance Testing = how fast is the


system?
Performance testing comes under non functional
testing
Key Skills - Performance Testing

Key Skills:

Load
Volume
Stress
Scalability
Stress Testing

The purpose behind stress testing is to ascertain the failure of


system and to monitor how the system recovers back gracefully

Top Performance Testing Tools

Apache JMeter
LoadRunner
WebLOAD
Appvance
NeoLoad
LoadUI
WAPT
Loadster
Load Testing

Load testing is meant to test the system by constantly and


steadily increasing the load on the system till the time it reaches
the threshold limit.

It is the simplest form of testing which employs the use of


automation tools such as Load Runner or any other good tools,
which are available
Sample Resume Performance Testing

Micros oft Office


Word 97 - 2003 Document
TESTING CONCEPTS

Você também pode gostar