Loading...
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 50185 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Mirian-Hosseinabadi, Hassan
- Abstract:
- One of the most important methods to ensure correct software and check the quality of software is software testing. One of the most important discussions about software testing is the effectiveness of a test suite. Manufacturers need a benchmark to determine the effectiveness of the test suite to stop the software testing process. The proposed solutions for determining the effectiveness are mutation testing and code coverage. The mutation test has a higher accuracy than the code coverage, but it takes a long time to calculate. This dissertation has tried to improve the existing solutions by presenting a new coverage that has a higher degree of accuracy than the proposed coverages in determining the effectiveness of test suites.Line frequency coverage is a coverage that is designed according to line coverage functionality. The line coverage among the coverages has worked well to determine the effectiveness of test cases. But this coverage for each line of the program only takes one run or not. In contrast, line frequency coverage affects several lines of line execution. An experiment was conducted to determine the accuracy of line frequency coverage in determining the effectiveness. In this study, the ability to line frequency coverage, line coverage and branch coverage was measured in determining the effectiveness of test cases. Eventually, line frequency coverage, in addition to having the appropriate speed in calculation, also
showed more accuracy in determining the effectiveness of test cases - Keywords:
- Software Testing ; Effectivness ; Code Coverage ; Unit Test Effectiveness ; Line Frequency Coverage
-
محتواي کتاب
- view
- 1 سرآغاز
- 1.1 پیشزمینه و تعاریف مقدماتی
- 1.2 تعریف مسئله
- 1.3 ساختار پایاننامه
- 2 معرفی حوزهی اثربخشی موارد آزمون
- 2.1 روند کلی تحقیقات در مورد اثربخشی
- 2.2 بررسی اثربخشی با آزمون موتاسیون
- 2.3 بررسی اثربخشی با پوشش کد
- 2.3.1 بررسی وجوه تمایز تحقیقات انجام شده
- 2.3.2 مرور کارهای انجام شده
- 2.4 گونههای مختلف آزمایشهای اثربخشی
- 2.4.1 بررسی اثربخشی دو مجموعه آزمون بسنده/نابسنده
- 2.4.2 بررسی اثربخشی آزمونها روی نوعهای مختلف خطا
- 2.4.3 معرفی روشهای ترکیبی
- 2.4.4 بررسی دو مجموعه آزمون یا یک مجموعه آزمون
- 2.5 معرفی مجموعه دادهها
- 2.5.1 معرفی مجموعهدادهی defects4j
- 3 پوشش تکرارخط
- 3.1 بررسی نقاط قوت و ضعف راه حلهای پیشین
- 3.2 راه حل پیشنهادی
- 3.2.1 مثالی از تفاوت پوشش تکرارخط و پوششخط
- 4 مورد مطالعاتی
- 4.1 طراحی آزمایش
- 4.1.1 انتخاب معیار برای اثربخشی
- 4.1.2 انتخاب مجموعهداده
- 4.1.3 توضیح آزمایش
- 4.2 روند اجرای آزمایش
- 4.3 تحلیل نتایج آزمایش
- 4.3.1 بررسی و تحلیل پروژهی JFreeChart
- 4.3.2 بررسی و تحلیل پروژهی Closure Compiler
- 4.3.3 بررسی و تحلیل پروژهی Commons Math
- 4.3.4 بررسی و تحلیل پروژهی Joda Time
- 4.3.5 بررسی و تحلیل پروژهی Commons Lang
- 4.3.6 تحلیل نتایج
- 4.1 طراحی آزمایش
- 5 جمعبندی و کارهای آتی
- پیوستها
- آ ساخت جفت مجموعه آزمونها و اجرای آزمونها
- ب کدهای تجمیع نتایج پوشش
- پ جدول خروجی تجمیع نتایج پوشش
- ت کدهای مربوط به تحلیل آماری دادهها
- کتابنامه
- واژهنامهی فارسی به انگلیسی
- واژهنامهی انگلیسی به فارسی