عنوان پایاننامه
یکپارچه سازی روشهای کارکردی و ساختاری در آزمون مبتنی برمدل
- رشته تحصیلی
- مهندسی کامپیوتر -نرم افزار
- مقطع تحصیلی
- کارشناسی ارشد
- محل دفاع
- کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 45217;کتابخانه مرکزی پردیس 2 فنی شماره ثبت: E 1744
- تاریخ دفاع
- ۱۸ خرداد ۱۳۸۹
- دانشجو
- حمیدرضا اسعدی
- استاد راهنما
- رامتین خسروی
- چکیده
- آزمون مبتنی بر مدل، به معنی تولید خودکار موارد آزمون از مدل کارکردی و صوری سیستم تحت آزمون به صورت جعبه سیاه، که به عنوان راهحلی برای مسئلهی تولید و اجرای خودکار آزمونها مطرح شده است، استفادهی روزافزونی درسالهای اخیر داشته است. ایدهی آزمون مبتنی بر مدل، اساساً به هدف آزمون سیستمهای با رفتار پیچیده (و معمولاً همروند) مطرح شده است. با این حال، در این روشها مدلسازی رفتار سیستم توسط نمادگذاریهای سطح پایین (مانند ماشینهای گذار) انجام میشود. برای مثال، در این روشها مدلسازی مقادیر دادهای به عنوان پارامترهای ورودی و خروجی سیستم تحت آزمون یا اصلاً امکانپذیر نیست و یا منجر به تولید مدلهای بسیار پیچیدهای میشود. از سوی دیگر، روشهایی برای آزمون خودکار نرمافزار معرفی شدهاند که هدف آنها تولید موارد آزمون شامل داده است. این روشها به جای توصیف رفتار سیستم توسط ماشینهای گذار، با استفاده از متن برنامه (به صورت جعبه سفید) امکان توصیف روابط میان مقادیر دادهای و چگونگی تولید مقادیر دادهای به هدف آزمون را مهیا میکند. بر این اساس، در این پژوهش چهارچوبی یکپارچه برای مدلسازی همزمان رفتارهای مورد انتظار از سیستم تحت آزمون از یک سو و توصیف دادههای ورودی و خروجی آن از سوی دیگر ارائه شده است. این چهارچوب برای توصیف این موارد از زبان یوامال استفاده میکند. به این ترتیب امکان توصیف سیستمهایی که هم از نظر رفتاری و هم از نظر دادههایی که مبادله میکنند، پیچیده هستند فراهم میشود. در راستای طراحی این چهارچوب، همچنین آزمونگری پیادهسازی شده است که موارد آزمون خود را بر اساس مدلهای یوامال به صورت خودکار تولید میکند. واژههای کلیدی: آزمون مبتنی بر مدل، تولید خودکار آزمون، چهارچوب آزمون، آزمون نرمافزار به همراه داده، روش افراز ردهای
- Abstract
- Model-based testing (i.e. automatic test-case generation based on functional models of the system under test) is now widely in use as a solution to automatic software testing problem. The goal this testing method is to test complex systems (e.g. systems with concurrent behaviors). By the way, it exploits low-level notations (e.g. transition systems) to describe system specifications. Therefore, modeling some aspects of the system, such as input/output data values, may result in high-complexity of the resulted model or it may not possible at all. On the other hand, there are methods that focus on data-dependent systems. Hereby, they analyze the source code (in a white-box manner), instead of high-level behavioral models, to infer data dependencies and to define test data valuation method. In spite of their power in modeling data items, test behaviors in these methods should be designed manually and therefore, defining numerous and complex behaviors for the test process may lead to difficulties. In this work, we introduce an integrated framework for modeling both the expected system behaviors and the input/output data structures, consistently. To this end, we have used UML language for modeling purposes. This enables us to describe systems that are both complex in behavior and the data. We have also developed a tool which automatically generates test-cases based on the defined UML models. Keywords: model-based testing, automatic test generation, test framework, testing data dependent systems, category partitioning methods.