Practical Automated Software Testing

 

Training Workshop Title:

Practical Automated Software Testing

Training Workshop Abstract (for uploading in the conference website):

امروزه نرم افزار تمامي ابعاد زندگي مدرن را در بر گرفته است و اهميت وظايفي كه انجام مي دهد بر هيچ كس پوشيده نيست. از اين رو اطمينان از صحت عملكرد نرم افزار تبديل به بخشي جدايي ناپذير در توسعه نرم افزار شده است. روش ها و ابزار هاي مختلفي به منظور طراحي و اجراي آزمون هاي كيفيت نرم افزار استفاده مي شوند. در اين كارگاه روش هاي تست واحد به منظور طراحي موارد Mock Object و همچنين نحوه طراحي آزمون نرم افزار با استفاده از Junit تست براي نرم افزار هاي شئ گرا با استفاده از پلتفرم ها معرفي مي شوند. از آنجايي كه آزمون نرم افزار امري حياتي در چرخه نرم افزار بوده و با توجه به هزينه بر و زمان بر بودن و همچنين احتمال بالاي وجود خطا در آزمون هاي نرم افزار طراحي شده به روش دستي توسط آزمونگر، روش هاي توليد خودكار موارد تست مورد توجه بسياري قرار گرفته است. در خلال اين كارگاه با معرفي روش هاي خودكار سازي توليد موارد تست براي نرم افزار، ابزار هاي مرتبط نيز معرفي شده و نحوه بهره برداري از آنها به منظور توليد موارد تست با دقت بالا و در زمان كمتر، تشريح مي و موارد مشابه ديگر اشاره كرد. دو مورد ذكر شده كه در  EvoSuite,Randoop شود. از ابزار هاي موجود در اين زمينه مي توان به زمينه طراحي و توليد موارد تست و تحليل كد نرم افزار استفاده مي شوند، به صورت عملي و با انجام يك پروژه نمونه تعريف شده بررسي خواهند شد. مجموعه مطالب در نظر گرفته شده براي اين كارگاه به نحوي طراحي شده است كه به دانشجويان، اساتيد و توسعه دهندگاني كه علاقه به مبحث آزمون نرم افزار دارند، ديد مناسبي از جهت انجام كار هاي تحقيقاتي و همچنين استفاده عملي در پروژه هاي نرم افزاري، ارائه مي كند.

 

 

Software plays a role in every aspect of modern life. The importance of the tasks carried out by software is no mystery. Therefor ensuring the quality and correctness of a software product is an integral part of software development. Various tools are used for the purpose of designing and executing software quality test. In this workshop, methods for designing unit tests for object oriented software by the means of Junit and mock Objects are introduced. Given that software testing is a vital process in software life cycle, and the fact that the manual method is time consuming, expensive and often full of errors, automatic methods are a cost effective and reliable way for generating test data. Throughout this workshop automatic test data generation methods are introduced along with associated tools. Selected tools, EvoSuite and Randoop are thoroughly reviewed and are utilized in order to generate and execute tests for a specific sample project.

Subjects discussed in this workshop are designed to help students, professors and developers who are interested in the field of software quality assurance and testing to acquire a practical vision on this matter. This workshop enables attendants for future researches in the field as well as for practical use in software development projects.

 

Workshop Outlines to be Covered:

Why Software Testing

Levels of Testing

BlackBox Testing vs WhiteBox Testing

Object oriented software testing

Unit testing

Junit Test and MockObjects

Automated software testing

Search-based software testing (SBST)

Evolutionary algorithms in SBST

Automated software testing tools

Evosuite

Testing With EvoSuite

 

 

Workshop Organizers

Name

Affiliation

Contact

Scientific Background & Research Interest

Mohammad Reza Moosavi

 

smmosavi@shirazu.ac.ir

 

Mohammad Mehdi dejam Shahabi

 

m.mehdishahabi@gmail.com

M.sc in software engineering

Researcher in software engineering, quality assurance and testing

Two publications in search based software testing

Seyed Ehsan Beheshtian

 

sebeheshtian@gmail.com

B.sc in information technology

Researcher in software engineering and AI

One publication in search based software testing

Seyed Parsa Badiei

 

oossparsa@gmail.com

B.sc in information technology

Researcher in software engineering and software testing

One publication in search based software testing

Mostafa pourshaker

 

Mostafa.sec.pm@gmail.com

Undergraduate in computer engineering

Researcher in software testing