By the end of this chapter, you will be able to:
These skills will help you ensure that systems work perfectly and meet user needs, making you a valuable part of any tech team!
System testing is a critical phase in the lifecycle of any ICT project, ensuring that a system meets its specified requirements and functions correctly in the intended environment. For ICT technicians in Kenya, undertaking system testing means verifying that software or hardware solutions deployed in institutions such as county government offices or banking institutions operate reliably before full-scale rollout. This chapter explores various types of system testing, highlighting their distinct roles and the importance of thorough testing in safeguarding system quality and user satisfaction.
System testing encompasses a range of testing types, each targeting specific aspects of the system to ensure comprehensive validation. Kenyan ICT technicians must understand these types to apply the correct testing strategies in different professional contexts, such as at NHIF when testing new claims processing software or at a university deploying an online registration system. This section breaks down the key types of system testing and their significance.
Software testing is the process of executing a program or application with the intent of finding software bugs and verifying that the software product meets the specified requirements. It is a fundamental activity for ICT technicians, who must ensure that applications used in sectors like retail banking at Co-op Bank or health information systems at Kenyatta National Hospital function flawlessly under operational conditions.
Software testing is a continuous process throughout the system development lifecycle, with ICT technicians playing a vital role in executing and documenting test results.
Unit testing focuses on verifying the smallest testable parts of an application, known as units, typically individual functions or methods. In the Kenyan ICT landscape, unit testing is crucial when developing modules for financial management systems in institutions like KRA or inventory management systems for retail chains.
Unit testing is typically performed by developers or ICT technicians with programming expertise, ensuring that each component functions correctly before moving to integration.
Integration testing evaluates the interaction between multiple units or modules to verify that they work together as intended. This phase is vital in Kenyan ICT projects where systems comprise several interconnected modules, such as the integration of a hospital’s patient management system with its billing and pharmacy modules.
In practice, a county government’s financial system may use incremental integration testing to ensure the revenue collection and budgeting modules interact correctly.
Usability assessments evaluate how easily end-users can learn and effectively use a system. For ICT technicians in Kenya, usability testing is essential when deploying systems in diverse environments, such as educational portals used by students with varying digital literacy levels or mobile banking apps accessed by rural users.
Usability assessments ensure that ICT solutions are accessible and effective for the intended user base, reducing training costs and support calls.
System testing ultimately safeguards investments in ICT projects, enabling organizations to achieve operational efficiency and service delivery excellence.
Explain the primary objectives of software testing and how they apply to a banking system in Kenya. (10 marks)
Describe five key characteristics of unit testing and their significance in software development. (10 marks)
Compare and contrast top-down and bottom-up integration testing approaches, providing examples of when each might be used. (10 marks)
Discuss five aspects evaluated during usability assessments and why they are crucial for systems used in Kenyan public hospitals. (10 marks)
Outline the importance of system testing in the deployment of e-government services in Kenya, citing specific benefits. (10 marks)
Create a free account to open more of this chapter.
Free: practical guides, quick cards, workplace scenarios and more.
Create a free accountThis chapter explored various types of system testing essential for validating software performance, including unit testing, integration testing, and usability assessments, each playing a crucial role in ensuring the system functions correctly and meets user needs. It emphasized the importance of comprehensive system testing to identify and resolve defects early, thereby enhancing software quality and reliability. The discussion then shifted to system debugging, detailing common techniques used to detect and fix errors, as well as outlining a structured debugging procedure to systematically address issues. Additionally, the chapter covered the process of performing system settings, which involves configuring the system environment to support optimal operation. Finally, it highlighted the development of a system testing report, a critical document that records testing outcomes, encountered problems, and recommendations for improvements, providing a basis for informed decision-making in system deployment.
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Computer with Windows 10 or above and Visual Studio 2019 or later installed | Sample software module source code files (.cs or .java) |
| Unit testing framework (e.g., NUnit or MSTest) | Printing paper |
| Printer |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Computer with Windows 10 or above and Visual Studio 2019 or later installed | 1 Pc per Candidate |
| 2 | Unit testing framework (e.g., NUnit or MSTest) | 1 Pc per Candidate |
| 3 | Sample software module source code files (.cs or .java) | 1 Set per Candidate |
| 4 | Printer | 1 Pc per 5 Candidates |
| 5 | Printing paper | Enough per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Preparation and Setup | |||
| Created a folder named UNIT_TESTING on the desktop (Award 2 marks or zero) | 2 | ||
| Imported the provided software module source code into the IDE (Award 3 marks or zero) | 3 | ||
| Configured the unit testing framework correctly to link with the module (Award 3 marks or zero) | 3 | ||
| Sub-Total | 8 | ||
| TASK 2: Designing and Executing Unit Tests | |||
| Designed at least five relevant test cases covering normal and boundary inputs (Award 1 mark per valid test case) | 5 | ||
| Executed the unit tests successfully without errors (Award 4 marks or zero) | 4 | ||
| Identified at least two defects or unexpected behaviors in the module (Award 3 marks or zero) | 3 | ||
| Sub-Total | 12 | ||
| TASK 3: Documentation and Reporting | |||
| Saved the test results report as UNIT_TEST_REPORT in the UNIT_TESTING folder (Award 3 marks or zero) | 3 | ||
| Printed the saved test results report (Award 1 mark or zero) | 1 | ||
| Sub-Total | 4 | ||
| PRODUCT CHECKLIST | |||
| Test results report includes all five test cases with input, expected output, actual output, and pass/fail status clearly documented (Award 6 marks for complete and accurate documentation or zero) | 6 | ||
| Sub-Total | 6 | ||
| GRAND TOTAL | 30 | ||
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Computer with Windows 10 or above and Visual Studio 2019 | Printing papers |
| Integration testing toolkit (Postman, Selenium) | |
| Printer |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Computer with Windows 10 or above and Visual Studio 2019 | 1 Pc per Candidate |
| 2 | Integration testing toolkit (Postman, Selenium) | 1 set per Candidate |
| 3 | Printer | 1 shared per 5 Candidates |
| 4 | Printing papers | 30 Sheets per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Setup and Prepare Testing Environment | |||
| Created a folder named TESTING on the desktop (Award 2 marks or zero) | 2 | ||
| Loaded the integrated modules into the testing environment (Award 3 marks for correctly loading all three modules) | 3 | ||
| Configured test cases for user authentication, payment processing, and notification modules (Award 4 marks for at least 3 test cases per module correctly configured) | 4 | ||
| Sub-Total | 9 | ||
| TASK 2: Execute Integration Tests | |||
| Performed integration tests verifying data flow between user authentication and payment modules (Award 5 marks for correct test execution and validation) | 5 | ||
| Performed integration tests verifying data flow between payment processing and notification modules (Award 5 marks for correct test execution and validation) | 5 | ||
| Logged and documented all test results including errors and successes (Award 4 marks for complete and accurate documentation) | 4 | ||
| Sub-Total | 14 | ||
| TASK 3: Save and Print Test Report | |||
| Saved the integration test report as INTEGRATION_TEST in the TESTING folder (Award 3 marks for correct file name and location) | 3 | ||
| Printed the saved test report (Award 1 mark for printing the correct document) | 1 | ||
| Sub-Total | 4 | ||
| PRODUCT CHECKLIST | |||
| Test report includes a summary of test cases executed, results, identified defects, and recommendations (Award 10 marks for a comprehensive and well-structured test report) | 10 | ||
| Test results demonstrate correct data flow and communication between integrated modules (Award 8 marks for accurate test results confirming integration) | 8 | ||
| Sub-Total | 18 | ||
| GRAND TOTAL | 45 | ||
At the start of this chapter we promised you would be able to:
Tick each one you can genuinely do.
So, are you there yet?
You're competent when you can confidently do 50% or more of what this chapter promised.
Sign in to record how you're doing.