#8 Testing Type and Example

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.

Excercise:  List all functions, that will be tested in LMS?

Functional Testing - Characteristics
 Functional testing focus on:
 Suitability
 Interoperability
 Security
 Accuracy

 Compliance
 Suitability: suitability of software for the user’s 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
=> 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…

Excercise: List all non-functions, that will be tested in LMS?

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 system’s ability to perform more than one function at a time
 Associated with more than one user using the system
x: 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 developer’s site using a group of
representative users of the software
 Beta testing: is conducted at the user’s 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



translate

Hôm nay đọc gì

Lưu trữ

view

view