#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



Related Posts:

translate

Hôm nay đọc gì

Lưu trữ

view

view