Você está na página 1de 27

Introduction

Duration: 120 min


Purpose: Introduce general testing types

Testing Types
Functional testing
Non-functional testing
Recovery testing
Alpha testing
Beta testing
Confirmation testing
Regression test

Example
The Loan Management System (LMS) with
requirements:
Specific requirements:
- Client query
- Create for new loan
- Second loan Agreement, etc

Other requirements:
- Usability: training, user interface
- Reliability/Performance: availability,
performance
- Supportability
Refer to URS of LMS

Functional Testing
Test functions, focus on external behavior of

software system
Can be used in every levels of testing (UT, IT,
ST, UAT).
2 perspectives for functional testing:
Specification-based: based on what customer

required.
Usage-based: based on day-to-day business use
of system.

Exercise
List all functions, that will be tested in LMS
15 minutes to complete

Functional Testing Characteristics


Functional testing focus on:
Suitability
Interoperability
Security
Accuracy
Compliance

Functional testing Characteristics


Suitability: suitability of software for the users

need
Interoperability: interaction of the software with
other system
Security: Prevention of accidental or deliberate
unauthorized access to program and data
Accuracy: accuracy of the results provided by the
software
Compliance: compliance with standards,
conventions, regulations, law and similar rules in
relation to functionality

Functional Testing sub


types
Functional testing includes sub-types:
Function Testing
User Interface (UI) testing
Data and Database Integrity Testing
Business Cycle Testing

Function Testing
Objective: Ensure proper target-of-test

functionality, including navigation, data entry,


processing, and retrieval
Verifying the application and its internal

processes by interacting with the application


via the Graphical User Interface (GUI)
Analyzing the output or results

User Interface Testing


Objective: Ensure proper navigation and

object states for each application window and


objects
Verify navigation
Verify using of access methods (tab keys,

mouse movements, accelerator keys)


Window objects and characteristics, such as
menus, size, position, state, and focus conform
to standards

Data and Database Integrity


Testing
Objective: Ensure database access methods

and processes function properly and without


data corruption
Verify the returned data to ensure that the

correct data was retrieved for the correct


transaction
Verify the database to ensure the data has been
populated as intended, all database events
occurred properly

Business Cycle Testing


Objective: Ensure proper target-of-test and

background processes function according to


required business models and schedules
All functions that occur on a periodic schedule

will be executed or launched at the appropriate


time
Testing will include using valid and invalid data
Each business rule is properly applied

Non-functional testing
Concentrate on how well or how fast

something is done.
Also can be performed at all levels of testing
but mostly at System testing

Non-functional testing
Mostly include:
Performance testing
Load testing
Stress testing
Volume testing
Characteristics:
Usability testing: learnability, attractiveness
Maintainability testing: analyzability, changeability
Reliability testing: fault-tolerant, recoverability
Portability testing: adaptability, replaceability
Efficiency testing: resource utilization

Exercise
List all non-functions, that will be tested in LMS
15 minutes to complete

Performance Testing
Tests the performance of a system under

normal load conditions


The response time of an individual transition
is a typical performance requirement

Load Testing
(Concurrency Testing)
Tests the systems ability to perform more

than one function at a time


Associated with more than one user using the
system
Ex: 2 users who simultaneously make a
withdrawal from a bank account may cause
the system to lock up or incorrectly process
one or both of the transactions

Stress Testing
Tests the performance of a system under

abnormal conditions
Determine how the performance of the system

degrades as the system loading is increased


Determine the manner in which the system
ultimately fails when the system load exceeds it
capacity

Volume Testing
Test with large amounts of data to determine if

limits are reached that cause the software to fail


Determine how the performance of the system with

large amounts of data

Recovery Testing
Tests that the system can be recovered in the event of

a failure
Types of failure that as system may need to recover
from include:
Program errors
Hardware failures (power failure etc.)
Transmission errors (noise, line disconnected, etc.)
Data errors

Alpha, Beta Testing


Is a kind of User Acceptance Test
Alpha testing: is conducted at developers site using a

group of representative users of the software


Beta testing: is conducted at the users own site with
no supervision by the developer.

Testing related to
change
Confirmation testing:
Needed when there is a defect fixed or change
requirement.
Test to confirm defect has indeed fixed or new
change is correct.
Regression test:
Execute test cases that are executed before.
Test to ensure there is no defect is made due to
change of source code.
There should be a regression test suite that executed
every time a new version of source code produced
-> automation can be applied.

Security and Access


Control Testing
Application-level Security
Check user right: verify that an actor/user can
access only those functions or data if they have
right
System-level Security
Verify that only those users granted access to

the system are capable of accessing the


applications and only through the appropriate
gateways

Conclusion
Functional testing
Non-Functional testing
Recovery testing
Alpha testing
Beta testing
Confirmation testing
Regression test

Você também pode gostar