چکیده
تست مبتنی بر استفاده بر تضمین کیفیت در بخش های پر کاربرد نرم افزار تمرکز می کند. اساس این مساله مشخصات کاربردی مبتنی است به طوری که موارد تست تولید می شوند. دو روش اصلی در تست مبتنی بر استفاده برای استخراج مشخصات استفاده وجود دارد: سیستم تحت تست (SUT) که در طی عملکرد مشاهده می شود و داده های به دست آمده استفاده که یک مشخصه استفاده است که به طور خودکار استنباط می شود یا مشخصه استفاده که توسط دست در یک رو تست مبتنی بر مدل (MBT) مدل سازی می شود. در این مقاله روش سوم و ترکیبی را پیشنهاد می دهیم به طوری که به طور خودکار یک مشخصه استفاده را نتیجه می گیریم و یک مخزن داده تست را از داده استفاده ایجاد می کنیم. سپس نمایش هایی از تست های تولید شده و داده های تست در مدل تست حاصل از روش MBT را ایجاد می کنیم. این مدل تست به ما این امکان را می دهد تا تست و علامت گذاری کنترل تست نسخه 3 (TTCN-3) را تولید کنیم و در نتیجه به ما اجازه می دهد تا اجرای تست را خودکار کنیم. همراه با شرکای صنعتی، ما این روش را در مطالعه نمونه پذیرفته ایم. یافته ها ما نشان می دهد که تست مبتنی بر استفاده می تواند در عمل به کار گرفته شود و کمک زیادی به خودکارسازی تست ها می کند. علاوه بر این، ما دریافتیم که حتی اگر تست مبتنی بر استفاده مورد نظر نباشد، آنگاه به کارگیری داده های استفاده می تواند سبب سادگی به کارگیری MBT شود.
1. مقدمه
یکی از چالش های مهم در تضمین کیفیت مصرف موثر منابع موجود برای دستیابی به بیشترین مزیت حاصل از آن ها است. استراتژی ما قراردادن کیفیت تجربه شده کاربر در مرحله مرکز از طریق تست مبتنی بر استفاده است [26]. ایده مورد نظر تمرکز بر تضمین کیفیت بر بخش های به شدت استفاده شده یک سیستم تحت تست (SUT) است و در نتیجه اطمینان از این است که کارکردهای اصلی مورد نیاز توسط کاربران به خوبی تست می شود. هسته تست مبتنی بر استفاده، مشخصات استفاده است. یک مشخصه استفاده یک توصیف تصادفی از به کارگیری یک SUT است. یک مشخصه استفاده یک توصیف تصادفی از به کارکیری از یک SUT است. این مشخصه استفاده به اطلاعاتی دست می یابد به طوری که رخدادها توسط کاربران تنظیم می شود. در سراسر این مقاله ما تست معماری های سرویس محور (SOA) را در نظر می گیریم. بنابراین رخدادهایی که استفاده از SUT را مدل سازی می کنند، درخواست و پاسخ های مبادله شده بین سرویس ها در هماهنگی سرویس ها است.
7. نتیجه گیری
در این مقاله ما درباره کاربرد تست مبتنی بر استفاده در عمل بحث کردیم. با توجه به این هدف، روشی را برای به کارگیری تست مبتنی بر استفاده برای معماری SOA پیشنهاد دادیم. بخش اول روش ما، نظارت بر استفاده برای SOA ای است که بدون نفوذ است و ادغام آن ساده است. سپس از داده های استفاده به دست آمده از نظارت برای آموزش یک مشخصه استفاده بهره می گیریم که طبق آن می توانیم دنباله های تست را تولید کنیم. علاوه بر این، مخزنی را همراه با داده های تست از داده های استفاده ایجاد می کنیم. ما تست مبتنی بر استفاده را یک روش MBT مبتنی بر MIDAS DSL، یک UML و زبان مبتنی بر UTP برای تعریف تست ها ترکیب می کنیم. ما از طریق این ترکیب می توانیم تست های قابل اجرا را به طور خودکار تولید کنیم. ما این روش را دو مطالعه آزمایشی مورد ارزیابی قرار داده ایم، به نحوی که به دیدگاه های ارزشمندی در رابطه با عملیاتی بودن تست مبتنی بر استفاده دست یافته ایم.
Abstract
Usage-based testing focuses quality assurance on highly used parts of the software. The basis for this are usage profiles based on which test cases are generated. There are two fundamental approaches in usage-based testing for deriving usage profiles: either the system under test (SUT) is observed during its operation and from the obtained usage data a usage profile is automatically inferred, or a usage profile is modeled by hand within a model-based testing (MBT) approach. In this article, we propose a third and combined approach, where we automatically infer a usage profile and create a test data repository from usage data. Then, we create representations of the generated tests and test data in the test model from an MBT approach. The test model enables us to generate executable Testing and Test Control Notation version 3 (TTCN-3) and thereby allows us to automate the test execution. Together with industrial partners, we adopted this approach in two pilot studies. Our findings show that usagebased testing can be applied in practice and greatly helps with the automation of tests. Moreover, we found that even if usage-based testing is not of interest, the incorporation of usage data can ease the application of MBT.
1 Introduction
One of the major challenges in quality assurance is the efficient spending of available resources to get the largest benefit out of them. One strategy is to put the user-experienced quality at center stage through usage-based testing [26]. The idea is to focus the quality assurance on the highly used parts of a system under test (SUT), and, thereby, assure that the core functionalities often required by the users are well tested. The core of usage-based testing are usage profiles. A usage profile is a stochastic description of the utilization of a SUT. The usage profile obtains information on which events are triggered by the users. Within this article, we consider the testing of service oriented architectures (SOAs). Hence, the events which model the usage of the SUT are the requests and responses exchanged between services within a service orchestration.
7 Conclusion
Within this article, we discussed the application of usagebased testing in practice. To this aim, we proposed an approach for the application of usage-based testing to SOA. The first part of our approach is a usage monitor for SOA that is non-intrusive and easy to integrate. Then, we use the obtained usage data from the monitor to train a usage profile from which we can generate test sequences. Moreover, we create a repository with test data from the usage data. We combine the usage-based testing with an MBT approach based on the MIDAS DSL, a UML and UTP-based language for the definition of tests. Through this combination, we were able to automatically generate executable tests. We evaluated the approach in two pilot studies, in which we gained valuable insights into the practical feasibility of usage-based testing.
چکیده
1. مقدمه
2. کارهای مرتبط
2-1 نظارت بر معماری های SOA
2-2 مشخصه استفاده و تست مبتنی بر استفاده
3. روش
3-1 نظارت بر معماری های SOA
3-2 استنتاج مشخصه استفاده
3-3 مخزن داده های تست
3-4 تعریف مدل تست
3-5 تولید تست
3-6 اجرای تست
4. پیاده سازی
5. مطالعات آزمایشی
5-1 اهداف
5-2 روش کار
5-3 سیستم های تحت تست
5-4 نتایج
5-5 بحث
5-6 تهدیداتی برای اعتبار
6. درس های آموخته شده
7. نتیجه گیری
منابع
Abstract
1 Introduction
2 Related work
2.1 Monitoring of SOAs
2.2 Usage profile and usage-based testing
3 Approach
3.1 Monitoring of SOAs
3.2 Usage profile inference
3.3 Test data repository
3.4 Test model definition
3.5 Test generation
3.6 Test execution
4 Implementation
5 Pilot studies
5.1 Objectives
5.2 Methodology
5.3 Systems under test
5.4 Results
5.5 Discussion
5.6 Threats to validity
6 Lessons learned
7 Conclusion
References