{"id":4922,"date":"2024-03-17T12:40:46","date_gmt":"2024-03-17T12:40:46","guid":{"rendered":"https:\/\/zebro.space\/?p=4922"},"modified":"2026-01-24T18:58:24","modified_gmt":"2026-01-24T18:58:24","slug":"enhancing-software-quality-testing-methods-and-circuit-checks","status":"publish","type":"post","link":"https:\/\/zebro.tudelft.nl\/?p=4922","title":{"rendered":"Enhancing Software Quality: Testing Methods and Circuit Checks"},"content":{"rendered":"\n[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Overview&#8221; _builder_version=&#8221;4.16&#8243; background_color=&#8221;#091744&#8243; background_image=&#8221;https:\/\/zebro.tudelft.nl\/wp-content\/uploads\/2019\/06\/gaming-02.png&#8221; background_position=&#8221;top_center&#8221; custom_margin=&#8221;||-55px|||&#8221; custom_padding=&#8221;43px|0px|54px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221; box_shadow_style__hover=&#8221;none&#8221; box_shadow_style__hover_enabled=&#8221;none&#8221; box_shadow_color__hover=&#8221;rgba(0,0,0,0.3)&#8221; box_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.3)&#8221;][et_pb_row _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;5px|0px|0|0|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text disabled_on=&#8221;on|off|off&#8221; _builder_version=&#8221;4.17.4&#8243; text_font=&#8221;Lato||||||||&#8221; text_text_color=&#8221;#9fa5d6&#8243; text_font_size=&#8221;18px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;|700||on|||||&#8221; header_3_font_size=&#8221;44px&#8221; header_3_letter_spacing=&#8221;3px&#8221; header_3_line_height=&#8221;1.2em&#8221; text_orientation=&#8221;center&#8221; background_layout=&#8221;dark&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;|0px||||&#8221; global_colors_info=&#8221;{}&#8221;]<h3><span>Enhancing Software Quality: Testing Methods and Circuit Checks<\/span><br \/><span style=\"font-size: 18px; color: #9fa5d6; font-weight: 500;\">18-3-2024|Lunar Zebro Public Outreach team<\/span><\/h3>[\/et_pb_text][et_pb_text disabled_on=&#8221;off|on|on&#8221; _builder_version=&#8221;4.17.4&#8243; text_font=&#8221;Lato||||||||&#8221; text_text_color=&#8221;#9fa5d6&#8243; text_font_size=&#8221;18px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;|700||on|||||&#8221; header_3_font_size=&#8221;44px&#8221; header_3_letter_spacing=&#8221;3px&#8221; header_3_line_height=&#8221;1.2em&#8221; text_orientation=&#8221;center&#8221; background_layout=&#8221;dark&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;|0px||||&#8221; inline_fonts=&#8221;Lato&#8221; global_colors_info=&#8221;{}&#8221;]<h1><span style=\"font-family: Lato;\"><b><br \/><\/b><\/span><br \/><br \/><\/h1>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.17.4&#8243; custom_padding=&#8221;27px|0px|0px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/zebro.tudelft.nl\/wp-content\/uploads\/2024\/03\/LZ2-1024&#215;770.png&#8221; alt=&#8221;Alessandra Menicucci holding a Zebro.&#8221; title_text=&#8221;LZ2&#8243; align=&#8221;center&#8221; disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; max_width=&#8221;76%&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;|0px||||&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;-26px||-35px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_text][et_pb_text _builder_version=&#8221;4.17.4&#8243; text_font=&#8221;Lato||||||||&#8221; text_text_color=&#8221;#9fa5d6&#8243; text_font_size=&#8221;16px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;||||||||&#8221; header_3_text_color=&#8221;#ffffff&#8221; background_layout=&#8221;dark&#8221; custom_margin=&#8221;27px||29px|||&#8221; custom_padding=&#8221;28px||8px|||&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<p><span style=\"color: #ffffff;\"><span data-contrast=\"none\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW145965032 BCX8\"><span class=\"NormalTextRun SCXW145965032 BCX8\">Software testing methodologies are <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">strategies or procedures used to test an application to verify <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">how <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">it <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">behaves and <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">whether it <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">appears as expected. These<\/span><span class=\"NormalTextRun SCXW145965032 BCX8\"> <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">don&#8217;t<\/span><span class=\"NormalTextRun SCXW145965032 BCX8\"> only<\/span><span class=\"NormalTextRun SCXW145965032 BCX8\"> include <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">unit and system testing but also testing of the<\/span><span class=\"NormalTextRun SCXW145965032 BCX8\"> front and back end<\/span><span class=\"NormalTextRun SCXW145965032 BCX8\"> of the system. Testing is crucial to guarantee the correct operation of every line of code. <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">In a <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">university <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">project like Lunar Zebro<\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">, l<\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">earning is just as vital as building a fully functional <\/span><span class=\"NormalTextRun SCXW145965032 BCX8\">rover.<\/span><\/span><\/span><\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Lato||||||||&#8221; background_layout=&#8221;dark&#8221; global_colors_info=&#8221;{}&#8221;]<h2>Software testing<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Lato||||||||&#8221; text_font_size=&#8221;16px&#8221; text_line_height=&#8221;2em&#8221; background_layout=&#8221;dark&#8221; global_colors_info=&#8221;{}&#8221;]<p><span data-contrast=\"none\">Using a wide variety of testing strategies during development helps guarantee that the project will run smoothly in as many settings as possible and on as many platforms as possible. Functional and non-functional testing are two common classifications for these. These tests are typically performed in the following sequence:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211; Unit testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211; Integration testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211; System testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211; Acceptance testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\"><\/span><\/p>\n<p><span data-contrast=\"none\">All tests that aren&#8217;t concerned with the software&#8217;s functionality are included in non-functional testing. Among these are:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> <\/span><\/p>\n<p><span data-contrast=\"none\" style=\"font-size: 16px;\">&#8211; Performance testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\" style=\"font-size: 16px;\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211; Security testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211; Usability testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211; Compatibility testing<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">To ship high-quality software, you need a solid testing framework that makes use of both functional and non-functional software testing techniques.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Lunar Zebro employs a V-model to guarantee comprehensive testing across all levels of complexity. Therefore, we initiate with simple tests and progress to more difficult ones as necessary. Unit tests are done frequently since they require little effort and lay the groundwork for further testing. Higher stages of the V-model involve more complex testing procedures. These sorts of tests are sometimes referred to as integration tests. Integration tests are used by the software development team to ensure sensors like the radiation sensor are working properly. This isn&#8217;t done as often because of the extra work involved, but it&#8217;s sometimes important because it ensures the whole system is functioning as intended.<\/span><\/p>\n<h2><\/h2>\n<p>&nbsp;<\/p>\n<h2><span data-contrast=\"none\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW71378543 BCX8\"><span class=\"NormalTextRun SCXW71378543 BCX8\">Testing electronics<\/span><\/span><span class=\"EOP SCXW71378543 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">When it comes to electronic circuits, which are designed from scratch in Lunar Zebro, there are two primary classes of defects: assembly faults and functional faults. Some examples of assembly faults are incorrect or missing parts, poor solder connections and sloppy wiring. All these problems may be traced back to flaws in the PCBA&#8217;s or system&#8217;s design.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">When there are structural problems, there will also be functional ones. When one or more parts are broken or don&#8217;t function as intended, the system will exhibit functional defects, also known as behavioral faults.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Functional testing is necessary for identifying functional faults. It is difficult, if not impossible, to predict whether all potential structural flaws will be identified during a functional test. This is why it&#8217;s preferable to keep approaches for finding structural flaws distinct from those for finding functional ones.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">There are several methods for locating structural faults (assembly faults). Either electrical testing or inspection techniques, or both, may be applied. The board is &#8220;looked&#8221; at and examined by a human inspector, by means of (automatic) optical inspection techniques (AOI), or by means of X-ray. Electrical testing is a method of using electricity to confirm the existence of hardware.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In summary, testing methodologies play a critical role in ensuring application reliability and functionality, encompassing a range of testing strategies, including unit, integration, system, and acceptance testing, along with non-functional testing. Lunar Zebro&#8217;s adoption of a V-model approach underscores the importance of comprehensive testing across all complexity levels. Furthermore, in the realm of electronics, the distinction between assembly faults and functional faults emphasizes the significance of employing various methods, such as electrical testing and inspection techniques, to maintain high-quality software development, ensuring robust and dependable systems.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<div id=\"mceu_63\" class=\"mce-edit-area mce-container mce-panel mce-stack-layout-item\" hidefocus=\"1\" role=\"group\" tabindex=\"-1\"><iframe id=\"main_content_content_vb_tiny_mce_ifr\" frameborder=\"0\" allowtransparency=\"true\" title=\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\" style=\"width: 100%; height: 346px; display: block;\"><\/iframe><\/div>\n<div id=\"mceu_64\" class=\"mce-statusbar mce-container mce-panel mce-stack-layout-item mce-last\" hidefocus=\"1\" role=\"group\" tabindex=\"-1\">\n<div id=\"mceu_64-body\" class=\"mce-container-body mce-flow-layout\">\n<div id=\"mceu_65\" class=\"mce-path mce-flow-layout-item mce-first\"><\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>Software testing methodologies are strategies or procedures used to test an application to verify how it behaves and whether it appears as expected. These don\u2019t only include unit and system testing but also testing of the front and back end of the system. Testing is crucial to guarantee the correct operation of every line of code. In a university project like Lunar Zebro, learning is just as vital as building a fully functional rover.<\/p>\n","protected":false},"author":6,"featured_media":4964,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"2880","footnotes":""},"categories":[2],"tags":[],"class_list":["post-4922","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=\/wp\/v2\/posts\/4922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4922"}],"version-history":[{"count":2,"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=\/wp\/v2\/posts\/4922\/revisions"}],"predecessor-version":[{"id":5630,"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=\/wp\/v2\/posts\/4922\/revisions\/5630"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=\/wp\/v2\/media\/4964"}],"wp:attachment":[{"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zebro.tudelft.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}