Unit test framework development

This project aims to develop a unit testing framework to improve code coverage and efficiency of firmware testing and development for a Global Navigation Satellite System (GNSS) device, which is also termed the device under test (DUT). The goal of the framework is to allow test cases targeting a spe...

Full description

Saved in:
Bibliographic Details
Main Author: Foo, Xiang Bing
Other Authors: Gwee Bah Hwee
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2020
Subjects:
Online Access:https://hdl.handle.net/10356/136931
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-136931
record_format dspace
spelling sg-ntu-dr.10356-1369312023-07-07T18:01:57Z Unit test framework development Foo, Xiang Bing Gwee Bah Hwee School of Electrical and Electronic Engineering Intel Corporation ebhgwee@ntu.edu.sg Engineering::Electrical and electronic engineering This project aims to develop a unit testing framework to improve code coverage and efficiency of firmware testing and development for a Global Navigation Satellite System (GNSS) device, which is also termed the device under test (DUT). The goal of the framework is to allow test cases targeting a specific feature or routine of the DUT to be developed easily and independently, which would lead to better code testing coverage. To achieve this, it was decided that a unit test framework employing scripting would be most ideal. The test cases will be developed in a script, which would then be interpreted by a script engine running on different hardware proxies communicating with the DUT. Libraries will be developed to create an abstraction layer of the proxy hardware such that test cases are proxy agnostic, unless proxy specific features are being tested. As such, development of test cases will be independent from the development of the DUT firmware, as well as other test cases. This allows the author of specific features and routines to develop their own tests which would be more comprehensive as they would know their own code well. These test cases also serve well when testing for regression on firmware revisions to verify that existing features and routines have not been compromised. Eventually, a test framework meeting the objectives of this project was implemented, incorporating the Pawn script engine. The test framework was able to meet performance and feature requirements, although its effectiveness could not be studied as the framework was not rolled out within the timespan of the project. Bachelor of Engineering (Electrical and Electronic Engineering) 2020-02-06T01:45:34Z 2020-02-06T01:45:34Z 2019 Final Year Project (FYP) https://hdl.handle.net/10356/136931 en application/pdf Nanyang Technological University
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic Engineering::Electrical and electronic engineering
spellingShingle Engineering::Electrical and electronic engineering
Foo, Xiang Bing
Unit test framework development
description This project aims to develop a unit testing framework to improve code coverage and efficiency of firmware testing and development for a Global Navigation Satellite System (GNSS) device, which is also termed the device under test (DUT). The goal of the framework is to allow test cases targeting a specific feature or routine of the DUT to be developed easily and independently, which would lead to better code testing coverage. To achieve this, it was decided that a unit test framework employing scripting would be most ideal. The test cases will be developed in a script, which would then be interpreted by a script engine running on different hardware proxies communicating with the DUT. Libraries will be developed to create an abstraction layer of the proxy hardware such that test cases are proxy agnostic, unless proxy specific features are being tested. As such, development of test cases will be independent from the development of the DUT firmware, as well as other test cases. This allows the author of specific features and routines to develop their own tests which would be more comprehensive as they would know their own code well. These test cases also serve well when testing for regression on firmware revisions to verify that existing features and routines have not been compromised. Eventually, a test framework meeting the objectives of this project was implemented, incorporating the Pawn script engine. The test framework was able to meet performance and feature requirements, although its effectiveness could not be studied as the framework was not rolled out within the timespan of the project.
author2 Gwee Bah Hwee
author_facet Gwee Bah Hwee
Foo, Xiang Bing
format Final Year Project
author Foo, Xiang Bing
author_sort Foo, Xiang Bing
title Unit test framework development
title_short Unit test framework development
title_full Unit test framework development
title_fullStr Unit test framework development
title_full_unstemmed Unit test framework development
title_sort unit test framework development
publisher Nanyang Technological University
publishDate 2020
url https://hdl.handle.net/10356/136931
_version_ 1772826074350092288