چکيده
آزمون نرم افزار يكي از مراحل مهم در چرخه حيات توسعه نرم افزار است. روند آزمون هر سال صدها ميليارد دلار در سراسر جهان هزينه دارد. بنابراين، حتي پيشرفت هاي اندك در اين زمينه مي تواند موجب كاهش هزينه و زمان بسيار زيادي شود. در حوزه نرم افزار، آزمون به طور عمده به آزمون پويا اشاره دارد. اين خود شامل طراحي و ايجاد موارد آزمون مناسب براي نرمافزار، اجراي نرمافزار با موارد آزمون و مشاهده نتايج مي باشد. هدف از اين روند، يافتن حداكثر تعداد خطاها با حداقل تعداد موارد آزمون است. آزمون جعبه سياه به بررسي اينكه برنامه ي مورد آزمون همان طور كه انتظار مي رود رفتار مي كند يا خير، مي پردازد. آزمون جعبه سفيد شامل دانشي از كد برنامه مورد آزمون بوده و بررسي مي كند كه كدام قسمت از نرم افزار در حين اجراي برنامه استفاده شده است. در اين تحقيق به آزمون هاي جعبه سفيد پرداخته مي شود كه قوي ترين شكل اين روش ها، آزمون مسير بوده و در آن داده آزمون هايي جستجو مي شود كه به كليه مسيرهاي اجرايي مختلف موجود در برنامه مورد آزمون منتهي مي شوند. يافتن داده آزمون در فضاي ورودي برنامه كه معيار پوشش را برآورده كند، يك مسئله جستجو مي باشد. ثابت شده است كه الگوريتم هاي تكاملي براي جستجوي داده هاي آزمون مناسب هستند.
در اين تحقيق ابتدا به تعاريف پايه اي از آزمون نرم افزار پرداخته مي شود. انواع آزمون و معيارهاي آزمون به تفضيل بررسي مي شوند. روش هاي مبتني بر جستجو و مزاياي اين روش مورد بررسي قرار مي گيرند. مزاياي اين روش و آزمون هاي مبتني بر مسير ارائه خواهد شد و نوآوري ها و روش هاي جديدي كه براي بهبود اين نوع آزمون ارائه شده اند، آورده شده و مزاياي اين بهبودها بررسي مي شود.