dc.description.abstract | Regression testing is an indispensable process in software development, which ensures stable features have not been adversely broken by new changes. Regression testing is tedious and repetitive in general, thus there are lots of test automation tools aimed at coping with the problem available in the market. One popular kind of tools is based on Capture/Replay (CR) concept. Its idea way is to capture users’ actions and then replay them to the system under test. Most of the users’ actions are related to mouse and keyboard, so the tools may capture mouse and keyboard events in different ways, typically with the help of operating systems (O.S.) or SDK.
ADLINK is an industrial personal computer (IPC) company. Their testing needs require a test engineer to test the system from BIOS to different kinds of operating systems. Unfortunately, conventional capture/replay software testing tools must rely on an O.S. to work. In this paper, we implement a C#-based test automation tool named Korat. Korat is based on CR, which allows SUT to operate in any kind of environments.
Since the concepts of Korat are based on CR, the test scripts are sensitive to graphical user interfaces (GUI). Once GUI is redesigned or changed, users may need to recapture the test cases. We propose a technique that increases the reusability of test scripts. Users can divide the test scripts into many small fragments as wish. When GUI is redesigned or changed, the only thing users need to do is modifying the fragments that is related to the GUI change. In addition, test oracle is another key issue in regression testing. Korat allows users to assert SUT′s status with strings or images. In string assertion, users can send the strings in screen output to Korat so that it can be asserted with the saved string in capture mode. In image assertion, users can grab images by a video capture card equipped on Korat, allowing users to assert the screen output of SUT. An evaluation is presented to demonstrate the usability of Korat, supported by the real usages by ADLINK.
| en_US |