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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |