• Title/Summary/Keyword: Software Unit Testing

Search Result 67, Processing Time 0.033 seconds

A Software Unit Testing Tool based on The XML Test Script for Embedded Systems (XML 테스트 스트립트 기반의 내장형 시스템 소프트웨어 단위 테스트 도구)

  • Kwak, Dong-Gyu;Yoo, Chae-Woo;Cho, Yong-Yun
    • Journal of the Korea Society of Computer and Information
    • /
    • v.14 no.1
    • /
    • pp.17-24
    • /
    • 2009
  • According to increasing requirments in embedded systems, embedded software has been more complicated then before, a software developer is required to test her/his software to make a efficient embedded system software in both time and space. This paper suggests a testing tool with which a software developer can easily test the embedded system software in cross-development environments. The suggested tool is designed based on host/target architecture, to provide an intuitive test environment in which a test case can be executed in a target board. The tool uses an XML-based test script to generate an appropriate test case. It includes a tree-based test script editor with which a developer can easily make a test case. Therefore, with the suggested tool, a develop can put down a burden on an software testing and get more productivity in software development related on embedded system.

Effort Analysis of Unit Testing Conducted by Non-Developer of Source Code (원개발자 부재에 따른 원시코드 기반의 단위테스트 노력 분석)

  • Yoon, Hoijin
    • Journal of Information Technology Services
    • /
    • v.11 no.4
    • /
    • pp.251-262
    • /
    • 2012
  • Unit testing is one of the test levels, which tests an individual unit or a group of related units. Recently, in Agile Development or Safety-critical System Development, the unit testing plays an important role for the qualities. According to the definition of unit testing, it is supposed to be done by the developers of units. That is because test models for the unit testing refers to the structure of units, and others but its original developers hardly can understand the structures. However, in practice, unit testing is often asked to be done without the original developers. For example, it is when faults are revealed in customer sites and the development team does not exit any more. In this case, instead of original developers, other developers or test engineers take a product and test it. The unit testing done by a non-developer, who is not the original developer, would cause some difficulties or cause more cost. In this paper, we tests an open source, JTopas, as a non-developer, with building test models, implementing test codes, and executing test cases. To fit this experiment to practical testing situations, we designed it based on the practices of unit testing, which were surveyed through SPIN(Software Process Improvement Network). This paper analyzes which part of unit testing done by non-developers needs more effort compared to the unit testing done by original developers. And it concludes that Agile Development contributes on reducing the extra effort caused by non-developers, since it implements test codes first before developing source code. That means all the units have already included their own tests code when they are released.

Distribution Automation Switch Testing Software Development (배전자동화용 개폐기 시험용 소프트웨어 개발)

  • Ok, Ki-Jung;Kim, Jae-Sung
    • Proceedings of the KIEE Conference
    • /
    • 2001.07a
    • /
    • pp.446-448
    • /
    • 2001
  • We have developed the testing software for KEPCO operators to maintain the small-scale distribution automation system effectively. The testing software is used to monitor the present status, to measure the analog value(voltage, amperage) and to control the switch and FRTU(Feeder Remote Terminal Unit) in order to find out a disabled part of the system. And at the stage of inspection of the switch and FRTU, it can screen the inferior one.

  • PDF

A Proposal for Unit Testing Procedure of Embedded Software Complied with Safety Assessment Criteria (안정성평가 기준에 적합한 내장형 소프트웨어 단위시험 절차 방안)

  • Jang, Jeong-Hoon;Lee, Won-Taek;Jang, Ju-Su
    • Proceedings of the KSR Conference
    • /
    • 2010.06a
    • /
    • pp.2223-2231
    • /
    • 2010
  • Recently, an important physical device of transportation, such as car, railroad, ship and aircraft has changed into electronic control unit. According to accident reports, the most of car accidents are caused by faults of embedded software loaded to computer control unit. The facts implies that the test to find defects in embedded software haven't performed sufficiently. As a result, it is necessary to establish the test procedures of embedded software based on safety assessment criteria. The objective of this proposal is to provide a unit test procedure complied with the safety assessment criteria for the embedded software. In addition, an effective unit testing procedure and defect analysis methods are proposed and a testing procedure using a safety criteria built-in tool is presented.

  • PDF

A Study of Unit Testing Frameworks on Open Source C++ (오픈 소스 C++에서의 유닛 테스팅 프레임워크에 관한 고찰)

  • Heo, Seok-Yeol;Sohn, Young-Ho
    • Convergence Security Journal
    • /
    • v.13 no.4
    • /
    • pp.33-39
    • /
    • 2013
  • Unit testing is proved to be vital for a successful software development process. Modern languages, such as Python, Java and C#, have a great support and tools for unit testing. But when it comes to C++, there are a big number of C++ frameworks available [List], and it becomes hard to make a choice of unit testing framework to use. This paper presents a survey of open source C++ unit testing frameworks by dividing open source C++ unit testing frameworks into two groups: frameworks with an integrated test runner and frameworks with a separate test runner.

Building Test Codes for Unit Test Automation of Java Programs (단위 테스트 자동화를 위한 자바 프로그램 테스트 코드 구축)

  • Yoon, Hoijin
    • Journal of Software Engineering Society
    • /
    • v.23 no.4
    • /
    • pp.141-149
    • /
    • 2010
  • Agile development is mentioned a lot by developers these days. XP or Scrum is one of the popular development processes, and it says that unit test automation would drive an agile development successful. The success of unit test automation depends on how well to compare an execution result to its own expected result. that is why this paper focuses on the comparison part. This paper introduces how to build test codes for unit testing, and then concludes with mentioning two considerations of unit testing automation. First, test codes for void-typed methods need Mock Framework to monitor their behavior. Second, the comparison of execution results and expected results is hard to implement in case of testing void-typed methods. We check every sentences of a test path to decide if the testing is fail or pass.

  • PDF

A UML-based Approach towards Test Case Generation and Optimization

  • Shahid Saleem;Saif U. R. Malik;Bilal Mehboob;Roobaea Alroobaea;Sultan Algarni;Abdullah M. Baqasah;Naveed Ahmad;Muhammad Hasnain
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.18 no.3
    • /
    • pp.633-652
    • /
    • 2024
  • Software testing is an important phase as it ensures the software quality. The software testing process comprises of three steps: generation, execution, and evaluation of test cases. Literature claims the usage of single and multiple 'Unified Modeling Language' (UML) diagrams to generate test cases. Using multiple UML diagrams increases test case coverage. However, the existing approaches show limitations in test case generation from UML diagrams. Therefore, in this research study, we propose an approach to generate the test cases using UML State Chart Diagram (SCD), Activity Diagram (AD), and Sequence Diagram (SD). The proposed approach transforms UML diagrams into intermediate forms: SCD Graph, AD Graph, and SD Graph respectively. Furthermore, by integrating these three graphs, a System Testing Graph (STG) is formed. Finally, test cases are identified from STG by using a traversal algorithm such as Depth First Search (DFS) that is an optimization method. The results show that the proposed approach is better compared to existing approaches in terms of coverage and performance. Moreover, the generated test cases have the ability to detect faults at the unit level, integration, and system level testing.

Quantitative Reliability Assessment for Safety Critical System Software

  • Chung, Dae-Won
    • Journal of Electrical Engineering and Technology
    • /
    • v.2 no.3
    • /
    • pp.386-390
    • /
    • 2007
  • At recent times, an essential issue in the replacement of the old analogue I&C to computer-based digital systems in nuclear power plants becomes the quantitative software reliability assessment. Software reliability models have been successfully applied to many industrial applications, but have the unfortunate drawback of requiring data from which one can formulate a model. Software that is developed for safety critical applications is frequently unable to produce such data for at least two reasons. First, the software is frequently one-of-a-kind, and second, it rarely fails. Safety critical software is normally expected to pass every unit test producing precious little failure data. The basic premise of the rare events approach is that well-tested software does not fail under normal routine and input signals, which means that failures must be triggered by unusual input data and computer states. The failure data found under the reasonable testing cases and testing time for these conditions should be considered for the quantitative reliability assessment. We presented the quantitative reliability assessment methodology of safety critical software for rare failure cases in this paper.

A Restructuring Technique of Legacy Software Systems for Unit Testing (단위테스트를 위한 레거시소프트웨어시스템의 재구성 기법)

  • Moon, Joong-Hee;Lee, Nam-Yong
    • The KIPS Transactions:PartD
    • /
    • v.15D no.1
    • /
    • pp.107-112
    • /
    • 2008
  • The maintenance of legacy software systems is very important in the field of a software engineering. In the maintenance, a regression test confirms the behavior preserving of the software which has been changed but most of regression tests are done in a system level and rarely done in a unit test level because there is no test case. This paper proposes how to modify legacy software systems and make unit test cases as an asset. It uses a technique with a specific module of a real software development project and analyzes test coverage results. After this, if a study about automatic restructuring techniques and a test case generation proceeds continuously, we can expect the big advance of legacy software systems maintenance.

Automated Unit-test Generation for Detecting Vulnerabilities of Android Kernel Modules (안드로이드 커널 모듈 취약점 탐지를 위한 자동화된 유닛 테스트 생성 기법)

  • Kim, Yunho;Kim, Moonzoo
    • Journal of KIISE
    • /
    • v.44 no.2
    • /
    • pp.171-178
    • /
    • 2017
  • In this study, we propose an automated unit test generation technique for detecting vulnerabilities of Android kernel modules. The technique automatically generates unit test drivers/stubs and unit test inputs for each function of Android kernel modules by utilizing dynamic symbolic execution. To reduce false alarms caused by function pointers and missing pre-conditions of automated unit test generation technique, we develop false alarm reduction techniques that match function pointers by utilizing static analysis and generate pre-conditions by utilizing def-use analysis. We showed that the proposed technique could detect all existing vulnerabilities in the three modules of Android kernel 3.4. Also, the false alarm reduction techniques removed 44.9% of false alarms on average.