Software Development  ·  Level 6
Desktop Application Development
Chapter 4: To test desktop application
📚 4 Topics
⚑ What you will be able to do

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

  • Identify the types of desktop application testing needed based on user requirements.
  • Prepare a detailed desktop application test plan following correct work procedures.
  • Test the desktop application accurately by following the test plan.
  • Prepare a clear and professional test report following the correct work procedures.

These skills will help you ensure desktop applications work reliably and meet user needs, making you a valuable part of any software development team.

Testing desktop applications is a crucial phase in software development that ensures the product meets user expectations and performs reliably in real-world environments. In Kenya, where software solutions often support critical sectors such as healthcare, banking, and education, thorough testing safeguards against costly failures and enhances user satisfaction. This chapter explores how software developers can identify appropriate testing types and prepare effective test plans tailored to project requirements and organizational standards.

4.1 Identifying Testing Types

Identifying the correct testing types for a desktop application is foundational to delivering a robust product. Different testing approaches target specific quality attributes such as functionality, security, and usability, which vary depending on user needs and project scope. Kenyan software developers working in diverse environments, from county government offices to retail businesses, must understand how to align testing methods with stakeholder expectations to ensure application success.

4.1.1 Testing Types Activities

Testing activities encompass a variety of techniques designed to validate and verify different aspects of a desktop application. These activities range from low-level unit testing to comprehensive acceptance testing and cover both functional and non-functional requirements.

Key Testing Activities

  • Unit Testing: This involves testing individual components or functions of the application in isolation to verify their correctness. Developers at software firms in Nairobi often automate unit tests to catch errors early in the development cycle.
  • Integration Testing: Focuses on verifying the interactions between modules or services. For example, a desktop financial application integrating with a local SACCO’s database undergoes integration testing to confirm data consistency.
  • System Testing: Tests the complete and integrated software to ensure it meets the specified requirements. County government offices use system testing to validate applications managing public service delivery.
  • Usability Testing: Evaluates the user interface and experience to ensure the application is intuitive and accessible. Kenyan universities deploying e-learning desktop apps conduct usability testing with students and faculty.
  • Acceptance Testing: Performed by the end-users or clients to confirm the system meets their needs before deployment. A hotel chain in Mombasa might carry out acceptance testing for their booking desktop system to verify all operational scenarios.

4.1.2 Selecting Appropriate Testing Types Based on User Requirements

Choosing the right testing types depends on a clear understanding of user requirements and the operational context of the desktop application. In Kenya’s software development landscape, aligning testing strategies with user expectations helps minimize defects and enhances the application's value.

Factors Influencing Testing Selection

  • Criticality of Application Functions: Applications supporting critical services, such as hospital patient management systems, require extensive system and acceptance testing to prevent failures.
  • User Environment: Understanding the hardware and software environments, such as the variety of Windows OS versions in Kenyan county offices, guides compatibility and performance testing.
  • Security Requirements: Applications handling sensitive data, for example in banking or insurance sectors, must prioritize security testing to protect against breaches.
  • Budget and Time Constraints: Limited resources in startups or SMEs may necessitate prioritizing high-impact testing types like functional and usability testing.
  • Regulatory Compliance: Software for sectors regulated by bodies like NEMA or KRA must undergo compliance testing to meet legal standards.
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
🔒4.2 Preparing Test Plan

A well-crafted test plan directs the testing process, ensuring thorough coverage and efficient resource use. In Kenya’s software development projects, especially those supporting public institutions and private enterprises, a test plan acts as a blueprint alig…

🔒4.3 Executing Tests as per Test Plan

In the Kenyan software development industry, particularly among desktop application developers, executing tests as outlined in the test plan is crucial to ensure software quality and reliability. Whether developing a financial management system for a SACCO or…

🔒4.4 Preparing the Test Report

Test reports serve as formal documentation of the testing activities and outcomes, providing stakeholders with insights into the software’s quality and readiness for deployment. For desktop applications used in sectors such as education or finance, detailed an…

Chapter Summary

This chapter explores the comprehensive process of testing desktop applications, beginning with the identification of various testing types such as unit, integration, usability, system, security, performance, and compatibility tests. It emphasizes the importance of selecting appropriate testing types based on specific user requirements to ensure the application meets its intended purpose. The preparation of a detailed test plan is covered next, highlighting key components including objectives, scope, and resources, alongside best practices for aligning the plan with organizational work procedures. The chapter then discusses methods for executing tests, comparing manual and automated approaches, and the necessity of tracking progress and issues throughout the testing phase. Finally, it addresses the preparation of a test report, outlining essential elements such as findings and recommendations, and stresses best practices for accurate and professional documentation of results in accordance with work procedures. Together, these topics provide a structured framework for effective desktop application testing.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is the primary focus of a unit test in desktop application development? (2 marks)
  2. Identify two major differences between integration testing and system testing. (3 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain the purpose of unit testing in desktop application development and give an example of how it would be applied in a banking software used by Equity Bank. (4 marks)
  2. Differentiate between integration testing and system testing in the context of a school management desktop application. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Identify and Classify Desktop Application Testing Types with Practical Examples

Software Development · Level 6
Desktop Application Development
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Identify and classify five desktop application testing types and demonstrate their activities using practical examples within a Visual Studio project.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer installed with Visual Studio 2019Sample Desktop Application Source Code
Rewritable Compact Disc (CD-RW)
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer installed with Visual Studio 20191 Pc per Candidate
2Sample Desktop Application Source Code1 Copy per Candidate
3Rewritable Compact Disc (CD-RW)1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Identification of Testing Types
Opened Visual Studio and loaded the sample desktop application project
(Award 2 marks for correctly loading the project)
2
Listed and named at least five different testing types (e.g., Unit Testing, Integration Testing, System Testing, Acceptance Testing, Regression Testing)
(Award 1 mark for each correctly identified testing type, max 5 marks)
5
Sub-Total7
TASK 2: Classification and Explanation of Testing Activities
Explained the purpose and scope of each identified testing type
(Award 1 mark for each correct explanation linked to a testing type)
5
Demonstrated practical examples for at least three testing types within Visual Studio (e.g., created unit tests, ran integration tests, performed system testing on the application)
(Award up to 3 marks per practical example, max 8 marks)
8
Saved screenshots of test results and compiled them into a folder on the computer
(Award 3 marks for correctly saving and organizing screenshots)
3
Sub-Total16
TASK 3: Summary and Documentation
Prepared a brief document summarizing testing types and their activities with practical examples
(Award 4 marks for completeness and clarity)
4
Burned the document and screenshots to the provided CD-RW
(Award 3 marks for successful burning without errors)
3
Sub-Total7
PRODUCT CHECKLIST
Complete list and classification of testing types with accurate explanations
(Award 5 marks for accuracy and completeness)
5
Practical demonstration of testing activities with valid test cases and results
(Award 7 marks for correct and working practical examples)
7
Organized documentation and backup on CD-RW
(Award 5 marks for well-organized documentation and successful backup)
5
Sub-Total17
GRAND TOTAL47
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Unit Testing on Student Registration Module

Software Development · Level 6
Desktop Application Development
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 unit testing on the Student Registration Module ensuring validation of Name, Email, and Phone Number fields with appropriate test cases and error handling.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer installed with Visual Studio 2019 or laterProject files containing the Student Registration Module source code
Rewritable Compact Disc (CD-RW)
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer installed with Visual Studio 2019 or later1 Pc per Candidate
2Project files containing the Student Registration Module source code1 Set per Candidate
3Rewritable Compact Disc (CD-RW)1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Setup Unit Testing Environment
Opened Visual Studio and loaded the Student Registration Module project
(Award 2 marks)
2
Created a new Unit Test project linked to the Student Registration Module
(Award 3 marks)
3
Added necessary references for unit testing framework (e.g. MSTest, NUnit)
(Award 2 marks)
2
Sub-Total7
TASK 2: Write Unit Tests for Input Validation
Wrote test cases to verify that Name field is not empty
(Award 3 marks)
3
Wrote test cases to validate Email field format using regular expressions
(Award 4 marks)
4
Wrote test cases to ensure Phone Number field contains exactly 10 digits
(Award 3 marks)
3
Included test cases to verify that appropriate error messages are triggered on invalid inputs
(Award 3 marks)
3
Sub-Total13
TASK 3: Execute and Document Unit Test Results
Executed all written unit tests and recorded results
(Award 3 marks)
3
Captured at least 3 screenshots showing successful and failed test cases
(Award 4 marks)
4
Saved screenshots and test report in a folder on the computer for printing
(Award 3 marks)
3
Sub-Total10
PRODUCT CHECKLIST
Unit test project correctly created and linked to the Student Registration Module
(Award 5 marks)
5
Comprehensive unit test cases covering all validation rules for Name, Email, and Phone Number fields
(Award 7 marks)
7
Accurate documentation of test execution results with screenshots
(Award 5 marks)
5
Sub-Total17
GRAND TOTAL47
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

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

Create a free account
🔒Conduct Integration Testing Between Modules of a Desktop ApplicationPractical 3
🔒Carry out usability testing for a desktop applicationPractical 4
🔒System Testing of Student Management Desktop ApplicationPractical 5
🔒Perform Security Testing on a Desktop ApplicationPractical 6
🔒Conduct performance testing on a desktop application measuring responsiveness and stability under loadPractical 7
🔒Perform Compatibility Testing of Desktop Application on Multiple Operating Systems and HardwarePractical 8
🔒Select Appropriate Testing Types for Desktop Application Based on User RequirementsPractical 9
🔒Prepare a Comprehensive Test Plan for a Desktop ApplicationPractical 10
🔒Align Desktop Application Test Plan with Organizational Work ProceduresPractical 11
🔒Manual and Automated Testing of Desktop ApplicationPractical 12
🔒Track Test Progress and Report Issues in Desktop Application TestingPractical 13
🔒Prepare a Detailed Test Report for a Desktop ApplicationPractical 14
🔒Documenting Desktop Application Test ResultsPractical 15
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:

  • Identify the types of desktop application testing needed based on user requirements.
  • Prepare a detailed desktop application test plan following correct work procedures.
  • Test the desktop application accurately by following the test plan.
  • Prepare a clear and professional test report following the correct work procedures.

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.