ICT Technician  ·  Level 6
Computer Software
Chapter 2: Test computer software functionality
📚 3 Topics
What you will be able to do

By the end of this chapter, you will be able to:

  • Perform software testing accurately by following the user manual step-by-step.
  • Identify and carry out corrective measures based on user requirements.
  • Confirm that computer software functions correctly by following workplace procedures.

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.

2.1 Software Testing Computer

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.

2.1.1 Importance of Software Testing Software

Ensuring Functional Accuracy

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.

Enhancing Security and Compliance

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.

Reducing Maintenance Costs

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.

Improving User Experience

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.

Supporting Reliable Integration

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.

2.1.2 Computer Software Testing Techniques Functionality

Various testing techniques evaluate software functionality from different perspectives. ICT Technicians must select appropriate methods based on project scope, complexity, and resource availability.

Black Box Testing

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

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

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

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

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.

2.1.3 Computer Software Testing Tools

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
  • Selenium is widely used for automating browser-based tests, useful in testing e-commerce platforms in Kenya’s retail sector.
  • JUnit assists developers in universities’ student management systems by validating Java modules rigorously.
  • Postman enables testing of APIs that connect mobile apps to backend databases, critical in financial institutions.
  • LoadRunner helps county government ICT teams simulate multiple users accessing tax portals simultaneously.
  • Bugzilla organizes and prioritizes bug reports, ensuring efficient defect resolution in cooperative societies’ software.

2.1.4 Performing Computer Software Testing

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Test Closure
    Evaluate testing completeness, prepare summary reports, and obtain stakeholder approval. After thorough testing, county health departments approve new software for deployment.

Practice Questions

  1. Explain five reasons why software testing is crucial for ICT Technicians working in Kenyan public institutions. (10 marks)

  2. Compare and contrast black box testing and white box testing, highlighting their relevance in software development projects. (10 marks)

  3. Identify five software testing tools and describe their specific uses in the Kenyan ICT sector. (10 marks)

  4. Outline the seven steps involved in performing computer software testing and explain the significance of each step. (14 marks)

The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒2.2 Corrective measures

In the role of an ICT Technician in Kenya, ensuring software operates correctly after deployment is critical for maintaining system reliability and user satisfaction. When software malfunctions or errors emerge during testing or actual use, corrective measures…

🔒2.3 Testing of computer software functionality

Testing computer software functionality is a critical task for ICT Technicians in Kenya, ensuring that software applications perform as intended before deployment. Given the increasing reliance on software in sectors such as banking, healthcare, education, and…

Chapter Summary

This 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.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is the primary purpose of software testing in ICT systems? (2 marks)
  2. Identify and briefly describe three common software testing techniques used by ICT technicians. (6 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with model answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain why software testing is critical before deploying an application in a Kenyan hospital information system such as the one used in Kenyatta National Hospital. (4 marks)
  2. Differentiate between functional and non-functional testing in computer software. Provide an example of each relevant to banking software in Kenya. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Perform software testing on a computer application

ICT Technician · Level 6
Computer Software
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Perform software testing on the inventory management application version 3.2.1 installed on a computer with Windows 10 OS.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Working computer with Windows 10 operating systemSoftware testing checklist template
Inventory management application installer
Internet connectivity
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Working computer with Windows 10 operating system1 Pc per Candidate
2Inventory management application installer1 Pc per Candidate
3Internet connectivityShared
4Software testing checklist template1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
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-Total8
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-Total15
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-Total12
PRODUCT CHECKLIST
Completed software testing checklist with accurate test results and observations
(Award 5 marks or zero)
5
Sub-Total5
GRAND TOTAL40
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Demonstrate the Importance of Software Testing

ICT Technician · Level 6
Computer Software
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Prepare a software testing report demonstrating the importance of software testing using the provided sample application and testing tools, including at least three examples of detected defects and their effects.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Working computer with Windows operating systemSample computer software application for testing
Internet connectivity
Software testing tools (e.g., Selenium, JUnit installer)
Microsoft Word or equivalent word processing software
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Working computer with Windows operating system1 Pc per Candidate
2Internet connectivityShared
3Software testing tools (e.g., Selenium, JUnit installer)1 Pc per Candidate
4Sample computer software application for testing1 Pc per Candidate
5Microsoft Word or equivalent word processing software1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
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-Total9
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-Total14
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-Total8
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-Total9
GRAND TOTAL40
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Apply software testing techniques on a sample applicationPractical 3
🔒Automated Software Testing Using Test CompletePractical 4
🔒Automated Web Application Testing Using SeleniumPractical 5
🔒Configure Appium and perform automated testing on a mobile applicationPractical 6
🔒API Testing Using Postman for Web Service ValidationPractical 7
🔒Perform software functionality testing on a payroll applicationPractical 8
🔒Identify and apply corrective measures in software testingPractical 9
🔒Explain types of corrective measures in software testingPractical 10
🔒Use software corrective tools to debug and fix a given software applicationPractical 11
🔒Plan and Execute a Complete Software Testing Cycle for a Desktop ApplicationPractical 12
🔒Compare and Select Appropriate Software Testing Tools for a Mobile Web ApplicationPractical 13
🔒Document Software Testing Results and Corrective ActionsPractical 14
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 19 questions Start quiz ▾
0%
0 / 2
🔒

17 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • Perform software testing accurately by following the user manual step-by-step.
  • Identify and carry out corrective measures based on user requirements.
  • Confirm that computer software functions correctly by following workplace procedures.

Tick each one you can genuinely do.

Prove it — in the simulator

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.