﻿<?xml version="1.0" encoding="utf-8"?>
<ArticleSet>
  <ARTICLE>
    <Journal>
      <PublisherName>مرکز منطقه ای اطلاع رسانی علوم و فناوری</PublisherName>
      <JournalTitle>فصلنامه فناوری اطلاعات و ارتباطات ایران</JournalTitle>
      <ISSN>2717-0411</ISSN>
      <Volume>16</Volume>
      <Issue>59</Issue>
      <PubDate PubStatus="epublish">
        <Year>2024</Year>
        <Month>6</Month>
        <Day>16</Day>
      </PubDate>
    </Journal>
    <ArticleTitle>Regression Test Time Reduction in Test Driven Development</ArticleTitle>
    <VernacularTitle>کاهش زمان آزمون بازگشت در روش تولید آزمون‌رانه</VernacularTitle>
    <FirstPage>228</FirstPage>
    <LastPage>239</LastPage>
    <ELocationID EIdType="doi" />
    <Language>fa</Language>
    <AuthorList>
      <Author>
        <FirstName>زهره</FirstName>
        <LastName>مافی</LastName>
        <Affiliation>دانشگاه تربیت مدرس</Affiliation>
      </Author>
      <Author>
        <FirstName>سیدحسن</FirstName>
        <LastName>میریان حسین آبادی</LastName>
        <Affiliation>صنعتی شریف</Affiliation>
      </Author>
    </AuthorList>
    <History PubStatus="received">
      <Year>2023</Year>
      <Month>5</Month>
      <Day>1</Day>
    </History>
    <Abstract>Test-Driven Development (TDD) is one of the test-first software production methods in which the production of each component of the code begins with writing the test case. This method has been noticed due to many advantages, including the readable, regular, and short code, as well as increasing quality, productivity, and reliability. The large number of unit test cases produced in this method is considered as an advantage (increases the reliability of the code), however, the repeated execution of test cases increases the regression test time. The purpose of this article is to present an algorithm for selecting test cases to reduce the time of the regression test in the TDD method. So far, various ideas have been proposed to select test cases. Most of these ideas are based on programming language and software production methods. The idea presented in this article is based on the program difference method and the nature of the TDD method, also a tool is written as a plugin in Java Eclipse. The provided tool consists of five main components: 1) Version Manager, 2) Code Segmentation, 3) Code Change Detection (in each version compared to the previous version), 4) Semantic Connection Creation (between unit tests and code blocks), and finally 5) Test Cases Selection.</Abstract>
    <OtherAbstract Language="FA">تولید ‌آزمون‌رانه یکی از شیوه‌های تولید نرم‌افزار اول آزمون است که در آن تولید هر جزء از کد با نوشتن آزمون شروع می‌گردد. این شیوه به دلیل مزایای فراوان ازجمله تولید کد خوانا، منظم، کوتاه و همچنین افزایش کیفیت، بهره‌وری و قابلیت اطمینان موردتوجه قرار گرفته است. تعداد زیاد موارد آزمون تولیدشده در این روش به عنوان نقطه قوتی جهت افزایش قابلیت اطمینان مطرح است با این حال اجرای مکرر موارد آزمون، موجب افزایش زمان آزمون بازگشت است. هدف این مقاله ارائه روش انتخاب موارد آزمون جهت کاهش زمان آزمون بازگشت در شیوه تولید ‌آزمون‌رانه است. تاکنون ایده‌های مختلفی برای انتخاب موارد آزمون مطرح شده است. اغلب این ایده‌ها مبتنی بر زبان برنامه‌نویسی و شیوه تولید نرم‌افزار است. ایده ارائه شده در این مقاله مبتنی بر روش اختلاف برنامه و ماهیت شیوه تولید ‌آزمون‌رانه اتخاذ گردیده است و ابزاری به صورت یک پلاگین در محیط Eclipse برای برنامه‌های زبان جاوا نوشته شده است. ابزار ارائه شده از پنج مولفه اصلی‌ 1) مدیریت نسخه‌های برنامه، 2) بلاک‌بندی کد تولید شده، 3) تشخیص بلاک‌های تغییریافته در هر نسخه نسبت به نسخه قبل، 4) ایجاد ارتباط معنایی بین آزمون‌های واحد و بلاک‌های کد و 5) انتخاب موارد آزمون تشکیل شده است.</OtherAbstract>
    <ObjectList>
      <Object Type="Keyword">
        <Param Name="Value">آزمون نرم‌افزار، تولید آزمون‌رانه، آزمون بازگشت، اختلاف دو برنامه، بخش‌بندی، کنترل نسخه</Param>
      </Object>
    </ObjectList>
    <ArchiveCopySource DocType="Pdf">http://jour.aicti.ir/ar/Article/Download/47078</ArchiveCopySource>
  </ARTICLE>
</ArticleSet>