By the end of this chapter, you will be able to:
Mastering these skills ensures you can deliver reliable software that meets user needs and keeps systems running smoothly in the real world.
Testing computer software is a critical activity for ICT Technicians in Kenya, ensuring that applications function correctly before deployment. It involves systematic evaluation to identify defects, verify compliance with requirements, and confirm usability in real-world scenarios. Proper software testing prevents costly failures in sectors such as banking, healthcare, and government services, where software errors can disrupt operations or compromise data integrity. This chapter guides ICT Technicians through the principles, techniques, tools, and procedures essential to effective software testing.
Software testing is the process of verifying that a computer program operates as intended, identifying bugs or errors before software reaches end users. In Kenya, ICT Technicians play a pivotal role in supporting institutions like hospitals and county governments by ensuring software reliability, which underpins service delivery and operational efficiency. Testing is not a one-time event but a continuous activity integrated into the software development lifecycle to maintain quality standards.
Testing verifies that software performs all specified functions correctly. For example, in a SACCO’s loan management system, testing ensures calculations and approval workflows operate flawlessly, preventing financial errors.
Testing identifies vulnerabilities that could expose systems to breaches or data loss. In public sector offices, rigorous testing ensures compliance with data protection laws such as Kenya’s Data Protection Act, safeguarding citizen information.
Early detection of defects through testing minimizes costly post-deployment fixes. Banks like KCB benefit from thorough testing by avoiding system downtimes that disrupt customer transactions and incur financial losses.
Testing guarantees that software interfaces are intuitive and responsive, which is vital in customer-facing applications like mobile banking apps used widely in Kenya’s retail banking sector.
Testing confirms that new software integrates smoothly with existing systems. For instance, integrating hospital patient management software with national health databases requires precise testing to ensure data consistency.
Various testing techniques evaluate software functionality from different perspectives. ICT Technicians must select appropriate methods based on project scope, complexity, and resource availability.
This technique focuses on verifying software outputs against inputs without knowledge of internal code structure. It is effective for validating user interface behavior in school management systems where end-user interaction is paramount.
White box testing examines the internal logic and code pathways of software. It is essential for mission-critical applications such as tax collection software at KRA, where code reliability directly impacts revenue collection.
Unit testing isolates and tests individual components or modules. Developers in insurance firms use unit tests to ensure each function within claim processing software operates correctly before integration.
Integration testing assesses combined modules to verify interactions. County government offices deploying new financial management systems rely on integration testing to ensure seamless data flow between budgeting and procurement modules.
System testing evaluates the complete and integrated software product to verify compliance with specified requirements. For example, a hotel reservation system undergoes system testing to check booking, payment, and notification functions work cohesively.
Testing tools automate and facilitate various testing activities, improving efficiency and accuracy. Kenyan ICT Technicians leverage these tools to manage complex software projects effectively.
| Name | Specification | Use |
|---|---|---|
| Selenium | Open-source, supports multiple languages | Automates web application testing |
| JUnit | Java-based unit testing framework | Performs unit testing of Java code |
| Postman | API testing platform | Tests RESTful APIs for backend services |
| LoadRunner | Performance testing software | Simulates user load to test system scalability |
| Bugzilla | Web-based bug tracking tool | Tracks and manages reported defects |
Executing software testing requires a structured approach to ensure comprehensive coverage and meaningful results. ICT Technicians in Kenya follow systematic steps adapted to project requirements and stakeholder expectations.
Requirement Analysis
Review software specifications and user expectations to define test objectives. For example, analyzing the requirements of a hospital’s patient record system ensures tests cover all critical functionalities.
Test Planning
Develop a detailed test plan outlining scope, resources, schedule, and methods. County government ICT units document plans to coordinate testing activities across departments.
Test Design
Create test cases and scenarios based on requirements. In retail banking, test cases for transaction processing include boundary value tests and error handling.
Test Environment Setup
Prepare hardware, software, and network configurations that mirror production settings. Educational institutions set up test servers replicating their live environments for accurate results.
Test Execution
Run test cases and record outcomes, noting deviations and failures. SACCOs use automated scripts to execute repetitive tests on loan application systems efficiently.
Defect Reporting and Tracking
Document identified defects with detailed information and track resolution progress. Insurance companies employ bug tracking systems to manage software issues systematically.
Test Closure
Evaluate testing completeness, prepare summary reports, and obtain stakeholder approval. After thorough testing, county health departments approve new software for deployment.
Explain five reasons why software testing is crucial for ICT Technicians working in Kenyan public institutions. (10 marks)
Compare and contrast black box testing and white box testing, highlighting their relevance in software development projects. (10 marks)
Identify five software testing tools and describe their specific uses in the Kenyan ICT sector. (10 marks)
Outline the seven steps involved in performing computer software testing and explain the significance of each step. (14 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 the critical process of software testing, emphasizing its importance in ensuring the reliability and performance of computer software. Various testing techniques were examined, highlighting methods to assess software functionality effectively. The chapter also introduced key software testing tools such as Test Complete, Selenium, Appium, and Postman, explaining their roles in automating and simplifying the testing process. Guidance on how to perform software testing was provided to equip learners with practical skills. Moving to corrective measures, different types were discussed alongside tools designed to facilitate error correction and software improvement. The chapter concluded with procedures for implementing corrective actions and detailed the testing of software functionality to verify that the software meets its intended requirements. Overall, the content provided a comprehensive understanding of maintaining software quality through systematic testing and correction.
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Working computer with Windows 10 operating system | Software testing checklist template |
| Inventory management application installer | |
| Internet connectivity |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Working computer with Windows 10 operating system | 1 Pc per Candidate |
| 2 | Inventory management application installer | 1 Pc per Candidate |
| 3 | Internet connectivity | Shared |
| 4 | Software testing checklist template | 1 Pc per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Preparation and Installation | |||
| Observed Computer Laboratory rules and used appropriate PPE (Award 1 mark or zero) | 1 | ||
| Verified computer meets software minimum requirements (CPU, RAM, disk space) (Award 2 marks or zero) | 2 | ||
| Installed the inventory management application correctly (Award 3 marks or zero) | 3 | ||
| Launched the application successfully without errors (Award 2 marks or zero) | 2 | ||
| Sub-Total | 8 | ||
| TASK 2: Functional Testing | |||
| Performed login test with valid and invalid credentials (Award 3 marks or zero) | 3 | ||
| Tested adding new inventory item with valid data (Award 3 marks or zero) | 3 | ||
| Tested updating existing inventory item details (Award 3 marks or zero) | 3 | ||
| Tested deleting an inventory item (Award 3 marks or zero) | 3 | ||
| Tested search functionality for inventory items (Award 3 marks or zero) | 3 | ||
| Sub-Total | 15 | ||
| TASK 3: Performance and Usability Testing | |||
| Tested application response time during typical operations (Award 3 marks or zero) | 3 | ||
| Tested error messages and validation prompts for incorrect inputs (Award 3 marks or zero) | 3 | ||
| Tested user interface for accessibility and ease of navigation (Award 3 marks or zero) | 3 | ||
| Documented all test results in the software testing checklist template (Award 3 marks or zero) | 3 | ||
| Sub-Total | 12 | ||
| PRODUCT CHECKLIST | |||
| Completed software testing checklist with accurate test results and observations (Award 5 marks or zero) | 5 | ||
| Sub-Total | 5 | ||
| GRAND TOTAL | 40 | ||
Type: Individual
| Tools & Equipment | Materials |
|---|---|
| Working computer with Windows operating system | Sample computer software application for testing |
| Internet connectivity | |
| Software testing tools (e.g., Selenium, JUnit installer) | |
| Microsoft Word or equivalent word processing software |
| S/N | Item | Quantity |
|---|---|---|
| 1 | Working computer with Windows operating system | 1 Pc per Candidate |
| 2 | Internet connectivity | Shared |
| 3 | Software testing tools (e.g., Selenium, JUnit installer) | 1 Pc per Candidate |
| 4 | Sample computer software application for testing | 1 Pc per Candidate |
| 5 | Microsoft Word or equivalent word processing software | 1 Pc per Candidate |
| Items to be Evaluated | Marks Available | Marks Obtained | Comments |
|---|---|---|---|
| TASK 1: Set up and prepare for software testing | |||
| Observed Computer Laboratory rules and appropriate wear (Award 1 mark or zero) | 1 | ||
| Launched the provided sample software application successfully (Award 2 marks or zero) | 2 | ||
| Installed and configured at least one software testing tool correctly (Award 3 marks or zero) | 3 | ||
| Prepared test cases covering at least three different software functionalities (Award 3 marks or zero) | 3 | ||
| Sub-Total | 9 | ||
| TASK 2: Execute software tests and document results | |||
| Executed the test cases and recorded outcomes accurately (Award 4 marks or zero) | 4 | ||
| Identified at least three different defects or bugs in the software (Award 4 marks or zero) | 4 | ||
| Demonstrated the effects of defects through examples or screenshots (Award 3 marks or zero) | 3 | ||
| Prepared a clear and concise software testing report in Word format (Award 3 marks or zero) | 3 | ||
| Sub-Total | 14 | ||
| TASK 3: Explain the importance of software testing | |||
| Provided at least three reasons explaining why software testing is critical before deployment (Award 3 marks or zero) | 3 | ||
| Linked the reasons to examples from the testing performed (Award 3 marks or zero) | 3 | ||
| Saved the report as 'SOFTWARE_TESTING_REPORT' in a folder named 'TEST_RESULTS' (Award 2 marks or zero) | 2 | ||
| Sub-Total | 8 | ||
| PRODUCT CHECKLIST | |||
| Report includes clear test cases, defect descriptions, and explanations of importance (Award up to 9 marks based on completeness and clarity) | 9 | ||
| Sub-Total | 9 | ||
| GRAND TOTAL | 40 | ||
At the start of this chapter we promised you would be able to:
Tick each one you can genuinely do.
Sample simulation — try how the simulator works. A version built for this chapter's practical is coming.
Prepare Kenyan PilauLocked ▸Free: practical guides, quick cards, workplace scenarios and more.
Now — 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.