1 of 31

2 of 31

3 of 31

4 of 31

5 of 31

Testing in Information Systems

Week 6 : Ensuring Quality and Performance

6 of 31

Introduction to Information System Testing

What is Information System Testing?

7 of 31

Introduction to Information System Testing

What is Information System Testing?

System testing, also referred to as system-level testing or system integration testing,

is the process in which a quality assurance (QA) team evaluates how the various components of an application interact together in the full, integrated system or application

8 of 31

Introduction to Information System Testing

The main benefits of system testing:

9 of 31

Introduction to Information System Testing

The main benefits of system testing:

Improved Product Quality: System testing enhances product quality by ensuring it works across various platforms and environments.

10 of 31

Introduction to Information System Testing

The main benefits of system testing:

Error Reduction: It helps identify errors that might have been missed during earlier testing phases.

11 of 31

Introduction to Information System Testing

The main benefits of system testing:

Cost Savings: Early detection of defects through system testing saves time and reduces unexpected costs and delays, supporting improved control over spending.

12 of 31

Introduction to Information System Testing

The main benefits of system testing:

Security: makes sure there are no security gaps in the system, protecting data and users from potential damage.

13 of 31

Introduction to Information System Testing

The main benefits of system testing:

Customer Satisfaction: Provides insight into the product's stability at all development stages, boosting customer confidence and user experience.

14 of 31

Introduction to Information System Testing

The main benefits of system testing:

Easier Code Modification: Identifies coding issues during development, making it easier to modify code before it goes into production.

15 of 31

Introduction to Information System Testing

The main benefits of system testing:

Software Performance: analyzes changes in system performance (such as memory use, CPU utilization, and lag), enabling measures to avoid in a situation that performance falls..

16 of 31

Overview of Testing Types

Types of Testing in Information Systems

17 of 31

Unit Testing

Unit Testing: The Building Blocks

18 of 31

Unit Testing

Unit Testing: The Building Blocks

19 of 31

Integration Testing

Integration Testing: Connecting the Dots

20 of 31

System Testing

System Testing: The Big Picture

21 of 31

Acceptance Testing

Acceptance Testing: Meeting User Expectations

22 of 31

Acceptance Testing

Acceptance Testing: Meeting User Expectations

23 of 31

Acceptance Testing

Acceptance Testing: Meeting User Expectations

Implement Prototyping in Acceptance Testing

24 of 31

Acceptance Testing

Acceptance Testing: Meeting User Expectations

Develop a Functional Prototype: Create a prototype that is functional enough to demonstrate the key features and workflows of the final system.

Implement Prototyping in Acceptance Testing

25 of 31

Acceptance Testing

Acceptance Testing: Meeting User Expectations

Develop a Functional Prototype: Create a prototype that is functional enough to demonstrate the key features and workflows of the final system.

Gather User Feedback: Conduct sessions where end-users interact with the prototype. Collect detailed feedback on various aspects like functionality, ease of use, and overall user experience.

Implement Prototyping in Acceptance Testing

26 of 31

Acceptance Testing

Acceptance Testing: Meeting User Expectations

Develop a Functional Prototype: Create a prototype that is functional enough to demonstrate the key features and workflows of the final system.

Gather User Feedback: Conduct sessions where end-users interact with the prototype. Collect detailed feedback on various aspects like functionality, ease of use, and overall user experience.

Iterative Updates: Use the feedback to make iterative improvements to the prototype. This process helps in aligning the final product more closely with user expectations and requirements.

Implement Prototyping in Acceptance Testing

27 of 31

Acceptance Testing

Acceptance Testing: Meeting User Expectations

Develop a Functional Prototype: Create a prototype that is functional enough to demonstrate the key features and workflows of the final system.

Gather User Feedback: Conduct sessions where end-users interact with the prototype. Collect detailed feedback on various aspects like functionality, ease of use, and overall user experience.

Iterative Updates: Use the feedback to make iterative improvements to the prototype. This process helps in aligning the final product more closely with user expectations and requirements.

Final Validation: Once the prototype evolves to a stage where it meets the acceptance criteria, conduct a final round of Acceptance Testing to confirm that all requirements have been satisfactorily met.

Implement Prototyping in Acceptance Testing

28 of 31

The Role of Regression Testing

Regression Testing: Ensuring Consistency

Conducted after changes (like new modules or functionalities) are made to the software, to ensure that these changes have not adversely affected existing functionalities.

29 of 31

Beta Testing in Real-World Scenarios

Beta Testing: Final Validation

Beta testing is conducted by releasing the system to a limited audience outside of the company

30 of 31

Version numbering across different types of new information system testing

31 of 31

Version numbering across different types of new information system testing

Testing Type

Version Number Example

Description

Unit Testing

0.1, 0.2, ...

Early versions indicating initial development and testing of individual components.

Integration Testing

0.3, 0.4, ...

Versions where individual components are being integrated and tested for interaction and data flow.

System Testing

0.8, 0.9, ...

Near-complete versions indicating that most functionalities are integrated and the system is almost ready.

Acceptance Testing

0.9, 1.0

Versions close to a full release, used for final user acceptance and validation.

Regression Testing

1.1, 1.2, ...

Post-release versions where new changes are made, and testing ensures no existing functionalities are broken.

Beta Testing

1.0-beta, 1.1-beta

Beta versions released to a limited audience for external testing.