Software Testing

 

Chapter Four

Testing

In quality assurance of soft wares, testing is a critical element since it represents the original review of the code, design, and specifications of the system being implemented. Testing, therefore, can be described as the process of executing specific programs to determine the causes of failures in the order. Testing, thus, involves the method of error detection ensuring reliability maintenance of the software or the VMS. The results achieved in the process are used to carry out maintenance activities of the motor vehicle systems. When carrying out testing of the web-based system, there are certain testing principles to be followed; firstly, ensuring that the tests carried out could be traceable to the requirements of the end-user. Secondly, the tests require a pre-planned schedule to ensure that the steps followed in the testing process began from a small scale as it escalated to the significant scale tests. Thirdly, the restrictions offeredn exhaustive testing required due diligence to ensure one does not perform such and lastly, testing requires a third party involved to provide useful results. This project focused on the testing methodologies that covered several strategies that integrate the test cases of a well-planned software system. The activities involved in software testing involve validation and verification. This project, therefore, focuses on three methodologies to implement the testing procedures of the web-based VMS. They include unit testing, integration testing, and system testing.

 

  1. Unit testing

This methodology applied in software testing centers on the verification of the smallest component in the system design. The process requires setting out of a procedural guide to acting as a guide for the central control paths during the testing process that uncovers the errors that lie on the boundary of the component. A unit test is oriented around white box testing that is accomplished in parallel for the multiple boards. The test majors on each element in the software according to the source code implemented throughout the project. White box testing refers to the type of test design that applies the control configuration of the model appearing in a procedural form.  The module under test is a fully covered framework with the software code and operating system operating in real-time. In the white box test applied in this project ensured coverage of the white box methods such as the coverage of the independent paths once. In this project, testing of modules was achieved individually concerning the attacks and the main code functions. In the web-based system, it ensured that the cases selected were executed across all case structures. Prevailing bugs at different sections of the code were fixed. Finally, the logical decisions of the source code were checked for the actual values of the vehicle status and also checked for false statuses.

Examples of the unit tests running in a manual program written in a tabular form below;

Test case Anticipated results Outcome
After beginning the admin server, on the html load file. Outputs  the  right results on the vehicles’ healthy status for all the system components Pass
After initiating the admin server, on the html load file Outputs correct state for all cars managed by the admin Pass
After starting the admin server, on the html file For okay statuses of the vehicles, displays a green sign. Pass
After initiating admin server, on the html load file Displays red sign for problems in the vehicle system network Pass
Upon receiving the status of status update by the staff Arranged logically to ensure no information is corrupted in the process Pass
Upon receiving updates on the maintenance changes done on the vehicle Update the current status to ‘okay’ displaying that all errors have been corrected Pass
Upon receiving different updates from different staff members switch from staff1 to staff2 Changes the occupancy status from staff1 to staff2 Pass
Upon receiving complaints from the customer on the system status Update the occupancy message to an urgent task requires quick solving. Pass
Upon logging to the customer server Request login password specific to the user Pass
Upon detecting login attempts on the staffs’ server Request login access password to the server specific to each identification module for the staffs Pass
Upon detection of admin logins to the server Issue notification to request the logins specifics of the admin Pass
Upon loading the html file Updates the status of the vehicle to current and displays ‘okay.’ Pass
Upon loading the html load file Displays the fuel consumption rate and outputs the status ‘okay.’ Pass
Upon loading the html load file Outputs current status to ‘updated.’ Pass
Upon terminating html load file Request user to log out, status read ‘successful.’ Pass

 

 

  1. Integration testing

This integration testis a systematic method that is used in the construction of the structure of the program and conduct te simultaneously tests on the system to unravel errors that are connected to the interface. The test in the module initializes from the single node within the components sets. The PCOs, therefore, refer to the network RTOS and related communication protocols mixed, and they include the RTOS occurrences and network information. The objective of this implement in the system is to take components subjected to unit testing and develop a program structure that has the design dictating the output. The tasks involved in integrating the test plan prepare, review, rework, and baseline all performed at the second level just after unit testing.The approaches recommended for this project is the top down and the bottom up. The top-down path shows that the components in the top are first tested and proceeds to the lower units step by step. The approach is only applicable if the system design follows a top-down development structure.  While the bottom-up approach shows that the bottom components or units are tested first at a slow pace, it approaches the upper levels. The guiding tips in the project were the motivation that a proper comprehensive design blueprint that displays a bright display of the interactions of units. The primary objective of running this test is to find out whether the modules integrate as a unit.  The test is conducted while concentrating on the interfaces between the components. The activity falls under the category of performing tests on the design by analyzing the interactions between the modules. This project has been developed from the integration of all the available modules. The process applied in the VMS allows integration of all modules and check for effects arising from integration on the services assigned different inputs combinations and ensure that each component service runs separately successfully. The integration test cases below show the manual representation of the core operations.

Test case Anticipated result Outcome
After initiating the admin server, on the html load file Displays the current status of all motor vehicles on their servers and also reveal the trends of the maintenance is done to the different cars Pass

 

Upon receiving the login status as ‘logged in.’ Change the indication status from login tab to logged in Pass
Upon receiving the ‘login’ command Change the indicators from idle to ‘maintenance.’ Pass
Upon a vehicle undergoing maintenance Display history events of the car and change to update Pass
Upon refreshing the web page of the system Sync the information in the database and update the webpage Pass
Upon requiring to ‘add vehicle’ to the server Display login and  ‘add a vehicle.’ Pass

 

 

 

  1. System testing

This type of test methodology is a series of several tests with the primary purpose of exercising a full computer-based network. Each test, however, carries out different purposes while maintaining the mission of verifying the elements of the system to have integrated uniformly and are performing the allocated commands correctly. System testing occurs after a product has undergone an integrated test. If the project requires an addition of a new vehicle into the system, the display in the web page and once checked to meet all the necessary criteria’s, tests are subjected to ensure vehicle maintenance highly.  This type of analysis applies black box tests where it is subjected to evaluation of the continued operations with the assistance of the requirements document and the underlying basis of the user’s point of view. The tests carried out in the project, therefore, do not require knowledge of the internal structure and the code used. This system testing also should appear after the integration test to ensure that the non-functional and functional requirements undergo a verification process unlike the integrated software test that is concentrated on finding effects in the modules integrated, the system test centers on finding defects or bugs on the behavior of the software application, the end-user expectation, and the software design. There are different types of tests undertaken under the system tests; it involves conducting the usability test; in the design, this test assists the user to use the application quickly and handle objectives flexibly. Another test done in the project is the load testing; this enabled the actors to know that the maintenance software would be functional in real-time loads. The vital driving factors that allowed carrying out of system testing in the development of the software is to ensure that the vehicle system is tested as a whole unit first. While undertaking the testing tasks, the VMS maintained its physical requirement, and therefore this paved the way for the verification and validation of both business requirements and application architecture. The testing stage also ensures that the system is exposed to an environment of deployment such as car shows for vehicles.

 

in system testing, it required the preparation of the test plan for the entire system. This is caused by the variance that exists from one company to another hence tailored the test to meet the project. Secondly, the test plan for the system was guided by the goal and objectives of the maintenance system, the scope covered, the test deliverables and schedule, the criteria for entry and exits and the environment used in testing. The second step involved the formation of test cases, and this was developed per the scenarios and huge considerations of the other types of testing. The third guiding tool was ensuring that the test cases covered all the non-functional, functional and technical requirements. After preparing the test data automation for the execution of test cases begin. Fourthly, the implementation of the programs starts with ordinary test cases carried out and updated n the vehicle maintenance system. Finally, the bugs found after the tests are then reported and verified via a regression test analysis and the whole lifecycle repeated. Therefore it is essential to carry out the test beginning from testing each unit component then work n the integrated test and finally sequentially finish the system testing method.