Software Quality Assurance Engineer at Cloud Niners Ltd en Salamworld
26 de Apr de 2015•0 recomendaciones•971 vistas
1 de 28
Fundamentals of software testing
26 de Apr de 2015•0 recomendaciones•971 vistas
Descargar para leer sin conexión
Denunciar
Ingeniería
Fundamentals of software testing, testing levels and types, testing throughout the software life-cycle, bug report and bug severity.
Automated tests via selenium web-driver with a demo.
2. Agenda
● Software testing definition
● Bug report and severity
● Test cases
● Software testing techniques
● Software testing types
● Introduction to selenium web-driver
● Demo
3. Software testing
Software Testing is the process used to find
defects in a product. Testing should focus on
both a containment effort to remove defects
from your software to gain confidence about the
level of quality and to provide information
4. What are bugs?!
Bugs are unexpected product
behaviors compared to
expectations. A bug can be
the absence of an expected
feature from the product.
5. Causes of Software bugs
Bugs arise from mistakes and errors made by
developers and also because of:
● time pressure.
● Last minute changes.
● Communication failure.
6. Bug Report
● Summary
● Steps to reproduce
● Actual Result
● Expected Result
● Attachments
● Browser
● OS
● Severity
● Priority
7. Bug Severity
Blocker: When entry point to the system is blocked
Critical: When a feature is blocked. No workaround.
Major: When a feature is blocked with workaround.
Minor: For features with missing acceptance criteria,
alignment issue
Trivial: For cosmetics, typos, text difference, misspelling.
9. Test Case
● A test case is a set of conditions or scenarios
under which a tester will determine whether a
system under test satisfies requirements or
works correctly.
● It should be negative and positive scenarios.
● It can be manual and automated.
● Examples
10. Software testing techniques
1) Black Box Testing Technique:
● Also known as specification based testing
● Testing without knowing the internal workings of
the code
● WHAT a system does, rather than HOW it does It
● Test phases by testing teams
12. Software testing techniques
2) White Box Testing Technique:
● Also known as structural or glass box
testing.
● Testing based upon the structure of the
code
● Test phases by development teams
14. Testing levels/types
1) Unit testing
● A unit is smallest testable piece of software.
● It is basically done by the developers to make
sure that their code is working fine. They test
their piece of code which they have written like
classes, functions, interfaces and procedures.
● It is a white box type of testing.
15. 2) Integration testing
● It is basically done by the developers and It is
done when two units are integrated, in order
to test the behavior and functionality of both
the units after integration.
● It is a white box type of testing.
16. 3) Functional test:
● It is the type of testing done against the
business requirements of application. It is a
black box type of testing.
● Functional testing involves following sub-types
of testings:
➢Regression test
➢Smoke test
➢Usability test
17. ➢ Smoke test: It is performed to ascertain that the
critical functionalities of the program is working
fine. Smoke testing is a subset of Regression
testing.
➢ Regression test: It is always done to verify that
modified code does not break the existing
functionality of the application and works within
the requirements of the system.
18. ➢ Usability test: Usability involves making a
web-site's interface easier to use and
simpler to understand, so that the user’s
experience is as enjoyable as possible.
19. 4) Non-Functional testing:
● It is totally different from the functional testing. Tests the
application based on the client and performance requirements.
● The non functional tests can be effective by using testing tools.
● Non-functional testing involves following sub-types of testings:
➢ Load testing
➢ Stress testing
20. ➢ LOAD TESTING – Also Known as Scalability Testing. During
this test, test engineers execute application build under
customer expected configuration and load to estimate
performance.
➢ STRESS TESTING – During this test, Test engineers
estimates the peak load. To find out the maximum number
of users for execution of out application user customer
expected configuration to estimate peak load.
PEAK LOAD > CUSTOMER LAOD (EXPECTED)
21. 5) Alpha Testing
● The first testing should occur in-house with
different operating systems and different
browsers.
● An alpha version may not yet contain all of the
planned features.
22. 6) Beta Testing
● Beta testing is considered the second phase after
alpha testing.
● Beta tests are typically external tests to identify any
performances issues or bugs prior to an official
release.
● Beta tests can be open or closed. A closed beta test is
used to control the number of users participating. An
open test is open to anyone who has an interest in
beta testing.
23. 7) User acceptance testing (UAT)
● Usually the final stage of validation
● Conducted by or visible to the end user and
customer
● Usually for ensuring the system is ready for
deployment into production
● Testing is based on the defined user
requirements
24. Selenium Web-driver
● Selenium is a Functional Automation tool for Web
applications.
● An open source tool (No cost Involved in it).
● Supports the languages like Java, PHP, Perl, Python,
Ruby and C#.
● Supports the browsers like IE, Mozilla Firefox, Safari,
Google Chrome and Opera.
● Supports the operating systems like Windows, Linux
and Mac.