• Title/Summary/Keyword: TDD(Test-Driven Development)

Search Result 10, Processing Time 0.026 seconds

A Case Study on the Weapon System Software Development Appling Test-Driven Development (테스트 주도 개발을 적용한 무기체계 소프트웨어 연구 개발 사례 연구)

  • Nam, Sung-Woo;Rhee, Kye-Jin;Oh, Sun-Taek
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2021.11a
    • /
    • pp.2-5
    • /
    • 2021
  • 테스트 주도 개발(TDD: Test-Driven Development)의 가치와 원칙을 잘 이해하고 있고, TDD 를 적용한 개발 방식이 습관화되어 있으면 TDD 가 제공하는 다양한 장점들을 얻을 수 있다. 하지만 위와 같은 경우가 아니라면 TDD 를 적용하더라도 비용 대비 효과를 얻을 수 없다. 본 논문에서는 비용 대비 효과를 높일 수 있도록 TDD 를 상황에 맞게 테일러링하여 협업에 적용한 사례를 제시한다.

Test-Driven Development Adoption influence to User Satisfaction on OpenSource Project development (오픈소스 프로젝트의 테스트 주도 개발 채택여부가 사용자만족도에 미치는 영향에 관한 연구)

  • Sohn, Hyo-jung;Lee, Min-gyu;Seong, Baek-min;Kim, Jong-bae
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2015.10a
    • /
    • pp.1075-1078
    • /
    • 2015
  • Three kinds of typical practices to reflect the values of Agile Development Methodology were selected from a previous study. Those were Communicate using Web 2.0 collaboration tools, test-driven development (TDD, Test-Driven Development) method is adopted, and refactoring. In this study, we set up a hypothesis that the adoption of TDD project will make user satisfaction is higher. Select 100 sample projects from SourceForge(sourceforge.net), the most popular open source hosting site, the criteria is we can be determined whether operate in the project (developer least 7 people, bugs can occur more than 100, created the project since 2000). To determine whether the use of automated development tools xUnit of TDD through the CVS and SVN log analysis. Using data from the FLOSSmole and to evaluate the user experience of the project. User satisfaction of each project Rating, bug fix cycle, downloads and pageviews. Through this study, correlates of whether TDD adoption and user satisfaction, we will suggest a reflected the Agile practices new open source development methodology. As a result, it contributes to increase the maturity of the open source community.

  • PDF

Suggestion of RE and TDD-based V&V Development Process for Scientific Software Implementation (과학용 소프트웨어 구현을 위한 RE와 TDD기반 V&V 개발 프로세스 제안)

  • Lee, Jae-Hong;Kim, Duksu;Kim, Seung-Hee
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.21 no.2
    • /
    • pp.79-88
    • /
    • 2021
  • Scientific software requires a development process different from conventional application software due to its unique characteristics, such as expert-level deep domain knowledge requirements. In this study, we proposed a V & V development process based on RE (Reverse Engineering) and TDD (Test-Driven Development) for software development for science. We also configured a virtual scenario for the actual project, applied it, checked the procedure, and refined it. The development process of this study, suggested for the purpose of developing scientific software, will contribute to the development and application of the software that can provide high quality and high reliability. And This study is expected to serve as an opportunity for the development of scientific software and the spread of research.

A Study on Computational Thinking based Test-Driven Problem Solving Learning Model (컴퓨팅 사고력 기반 테스트 중심 문제해결 학습 모형 연구)

  • Kim, Young-Jik;Kim, Seong-Sik
    • The Journal of Korean Association of Computer Education
    • /
    • v.22 no.6
    • /
    • pp.43-55
    • /
    • 2019
  • In the Fourth Industrial Revolution, a super-intelligent and super-connected society has arrived. Software is an important part of the core technologies of the Fourth Industrial Revolution. The ability to solve problems through software requires software education in that it is a core competency that everyone should have. Software education aims to improve Computational Thinking, which is the ability to solve problems through programming. Until now, most problem-solving programming learning models follow the traditional method of development: Waterfall model (Analysis-Design-Development-Test). In this model, if there is a problem in the preceding step, That could be found in the test phase. This takes a considerable amount of time and effort to find a solution to the problem and can be a burden on the programming learning. In this study, we proposed a Test-Driven Problem-Solving learning model using TDD (Test Driven Development) as Agile development method, and reviewed the appropriateness of the model through experts review. The verification results of the model showed positive evaluation results. In particular, the learning phase configuration of the model, helping in programming learning, helping of Computational Thinking improvement showed high rating, it is determined that there will be positive effects on Computational Thinking improvement through problem-solving programming learning when applying future learning.

Design and Implementation of code generator to remove the parameter boundary failure in the unit test (단위테스트 중 매개변수 경계오류제거를 위한 코드 자동생성 시스템 설계와 구현)

  • Park, Youngjo;Bang, Hyeja
    • Journal of Korea Society of Digital Industry and Information Management
    • /
    • v.11 no.2
    • /
    • pp.1-10
    • /
    • 2015
  • As programs get more complicated and they are developed by various hands, the possibility that there are program bugs in the code has been increasing. And developers usually run unit tests to find these problems in the code. Besides, the developers are at the pain of getting stability of the code when they have to modify a code very often for clients requirements. In the methodlogy of TDD(Test Driven Development), developers write a unit test code first, and then write a program code for passing the unit test. The unit test must include the boundary condition test the reason why the possibility of occurring the bugs is very high. When failed to pass the test because of the value of a function is incorrect, not existed, out of the range or not matched etc, the program code will return the error code or occur the exception. In the document, the system is designed and implemented in order to insert the generated code automatically or suggest it to the developer, when the boundary condition test is failed. In conclusion, it is possible that the developer will get the code stability by searching the code and checking the code to be omitted automatically through this system.

Performance Testing for Mobile Application Software in Test-Driven Development (테스트 주도 개발(TDD)에서의 모바일 응용 소프트웨어 성능 테스트 방안)

  • Kim, Hee-Jin;Choi, Byoung-Ju;Yoon, Seok-Jin
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.10b
    • /
    • pp.143-146
    • /
    • 2007
  • 테스트 주도 개발(TDD)에서는 무엇보다 테스팅의 중요성이 강조되고 있으며, 효율적인 단위 테스트를 통해 소프트웨어를 신속하게 개발할 수 있도록 자동화된 테스트 프레임워크를 지원한다. 본 논문은 소프트웨어를 개발하는 과정에서 소프트웨어의 기능뿐만 아니라 비기능적인 요소(non-functional factor)인 성능도 함께 고려하여 모바일 응용 소프트웨어를 개발하도록 하는 성능 테스트 방안을 제안한다. 본 논문에서는 모바일 응용 소프트웨어 성능 테스트 현황과 이슈를 살펴보고, 모바일 응용 소프트웨어 성능 테스트를 위해 필요한 성능 특성들을 분석하여, 테스트 주도 개발의 특징을 반영한 성능 테스트 방안에 대해 제시하고자 한다.

  • PDF

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.

Proposal : Improvement of Testing Frontier Capability Assessment Model through Comparing International Standards in Software Product and Software Testing Process Perspective (소프트웨어 제품과 프로세스 관점에서 국제표준과 비교를 통한 테스팅 프론티어 역량평가 모델 개선 방안)

  • Yoon, Hyung-Jin;Choi, Jin-Young
    • KIISE Transactions on Computing Practices
    • /
    • v.21 no.2
    • /
    • pp.115-120
    • /
    • 2015
  • The Testing Frontier Capability Assessment Model (TCAM) is based on ISO/IEC 9126, TMMi and TPI. Since ISO/IEC 9126, TMMi and TPI were made over 10 years ago, TCAM faces the problem that it can not assess and analyze the capability of small businesses that employ new software development methods or processes, for example Agile, TDD(Test Driven Development), App software, and Web Software. In this paper, a method to improve the problem is proposed. The paper is composed of the following sections: 1) ISO/IEC 9126, ISO/IEC 25010 and ISO/IEC/IEEE 29119 part 2 review 2) TCAM review 3) software product quality perspective comparison, and analysis between ISO/IEC 9126, ISO/IEC 25010 and TCAM 4) comparison, and analysis between ISO/IEC/IEEE 29119 part2 and TCAM and 5) proposal for the improvement of TCAM.

A Study of Mock Objects Generator for Applying XPwith Special Attention to C (C환경에서의 XP적용을 위한 모크객체생성기에 관한 연구)

  • Jung Young Mok;Park Jae Won;Lee Nam Yong
    • Journal of the Korea Society of Computer and Information
    • /
    • v.10 no.1 s.33
    • /
    • pp.15-26
    • /
    • 2005
  • As one of the lightweight software development methodology, the XP (Extreme Programming) is the practical means to improve the productivity and qualify of software through the pursuit of 4 values - communication, simplicity, feedback, and courage. It appears, however, the TDD (Test Driven Development). one of the practices of in. has a problem. which is the unavailability of the test driven development in case of the prolonged period of testing or the failure of securing the independency of the test cases. This results in the emphasis on the importance of the Mock Objects recently. The Mock Objects, the one imitating the faulty real code, has the fundamentals of simplicity allowing even manual script but. due to the inefficiency of manual script of the Mock Objects in a real life, it is implemented the Mock Objects Generator such as Mockotjects, EasyMock in Java. It Is found difficult, however to apply the Mock Objects in C language due to its object -oriented Premise as well as the absence of mock objects generators for C language. Therefore, in this Paper it is presented the CMock, a Mock Objects generator fer C language which allows the easy creation of the Mock Objects, and the study is performed to verify the efficiency accordingly.

  • PDF

A Study on the Effectiveness of CT-TDPS Learning Model in Problem Solving Programming using Scratch (스크래치를 이용한 문제해결 프로그래밍에서 CT-TDPS 학습 모형의 효과성 연구)

  • Kim, Young-Jik;Kim, Seong-Sik
    • The Journal of Korean Association of Computer Education
    • /
    • v.23 no.3
    • /
    • pp.41-47
    • /
    • 2020
  • Computational Thinking(CT) is drawing attention as a core competency required for future talent in the 21st century. Software education for improving CT ability at home and abroad is in full swing. Among them, problem-solving programming education helps to improve CT ability. The CT-TDPS learning model follows the decomposition, abstraction thinking process, which modularizes complex problems, and the Agile development method, which is an iterative and incremental programming method to implement it. In this study, we tried to confirm the improvement of CT ability by applying CT-TDPS learning model to problem solving programming education using Scratch. As a result of the study, it was confirmed that in the problem solving programming education using the CT-TDPS learning model, it improved in all aspects of computing concept, computing performance, and computing perspective, which are sub-factors of CT ability. In addition, it was confirmed that there was a significant difference in the experimental group as a result of the t-test on the Dr.Scratch automatic evaluation result.