تصميم وتنفيذ أداة الاختبار (DFT-Tool) بناءً على مواصفات تدفق البيانات

Design and Implementation of a Testing Tool (DFT-Tool) Based on Data Flow Specifications
البحث في الرسائل
الباحث
عبدالله حازم علي
المشرف
ندى نعمت سليم
الجامعة
جامعة الموصل
الكلية / القسم
كلية علوم الحاسوب والرياضيات / البرمجيات
الشهادة
ماجستير
السنة
2023
لغة الرسالة
انكليزي
الكلمات المفتاحية
Data Flow Testing ; Software Testing ; Testing Tool ; Test Coverage

الملخص

إن اختبار تدفق البيانات هو أسلوب مهم يستخدم في اختبار البرامج لاكتشاف الأخطاء المحتملة ونقاط الضعف في الكود. Gus يركز على كيفية معالجة البيانات وانتقالها عبر الكود ، ويمكن أن يساعد في تحديد مشكلات مثل المتغيرات غير المهيأة ، والتعليمات البرمجية التي لم يتم تنفيذها مطلقًا ، والمتغيرات التي لا يتم استخدامها Liles يساعد هذا في ضمان أن يتصرف البرنامج كما هو متوقع ، ويعمل بشكل صحيح ، ويلبي متطلبات المستخدم. يمكن أن يساعد اختبار تدفق البيانات في تحديد المتغيرات غير المهيأة ، والتعليمات البرمجية الميتة ، وتبعيات البيانات ، والتحقق من صحة الإدخال ، والبيانات التي أدخلها المستخدم وحلها. يمكن أن يساعد أيضًا في تحديد المشكلات المحتملة ، مثل البيانات غير الصالحة أو المتغيرات غير المهيأة ، والتأكد من التحقق من صحة البيانات التي أدخلها المستخدم ومعالجتها بشكل صحيح. يمكن أن يساعد ذلك في تحسين جودة البرنامج وتقليل عدد المشكلات التي يواجهها المستخدمون النهائيون. وقد تم تطوير أداة '1(171 المقترحة لنجاح اختبار تدفق البيانات و خلال ذلك تم تحقيق جميع الأهداف المخطط لها بمراحل متعددة ،حيث في المرحلة الأولى تم تحويل البرنامج النصي الى رسم تدفق البيانات بعد عملية الاعراب وتحليل البرنامج الذي يراد اختباره الى شجرة الاعراب باستخدام المحلل اللغوي الذي تم إنشاؤه ، إن شجرة الاعراب المجردة هي النموذج المناسب للرسم البياني ، حيث تقوم تقوم أداة '1(171 المقترحة بتقسيم كود الإدخال إلى كتل تحتوي كل ALS على عدد من الشفرات البرمجية ، وفي المرحلة الثانية تقوم الاداة المقترحة بعمل جدول لاكتشاف انوع التحولات لكل متغير عبر كل سطر من الكتلة البرمجية وتصنيفها إلى D :التعريف ٠ [](قد يكون الاستخدام: التنبؤ أو الحساب) ، زوج (DU) المتغير المحدد ثم زوج المستخدم (1[](متغير يستخدم بعد التعريف). وفي المرحلة الثالثة من عمل أداة DFT يتم عمل جدول آخر لاكتشاف الحالات الشاذة مثل المتغير الذي تم تعريفه ولم يتم استخدامه وتحديد المتغيرات إلى: معرف ((1) ، مستخدم (U) ، مهمل بدون استخدام ©1) على طول جميع أسطر الكود الذي تم اختباره ، سيحدد Lay) مسارات كل متغيرونوعه إلى: واضح وغير واضح ، في المرحلة الرابعة ، تقوم الاداة المقترحة بعمل جدول لدمج المسارات التي تحتوي على تكرار للعقدة وتنفيذ حالات الاختبار على المسارات التي تم إنتاجها بعد عملية الدمج . '171([المقترحة تتمتع slo! بتغطية ودقة عالية lop للبرامج التي تم اختبارها ، وقد تصل هذه الدقة إلى أكثر من 295 وأيضا تصل نسبة تغطية المسارات الى اكثر من 90 % اعتمادًا على سلوك الكود الذي تم اختباره.

Abstract

Data flow testing is a significant software testing technique utilized to uncover potential errors and vulnerabilities in code. It focuses on the movement and processing of data within the code, enabling the identification of issues like uninitialized variables, unexecuted code, and unused variables. By ensuring the software's proper behavior, correct operation, and adherence to user requirements, data flow testing plays a crucial role. It aids in the detection and resolution of uninitialized variables, data dependencies. Ultimately, employing data flow testing enhances software quality and reduces end-users' encountered issues. The proposed data flow testing tool, known as the DFT tool, has been developed to achieve its intended objectives in multiple stages. In the initial stage, the tool translates and analyzes the input code into an abstract syntax tree by utilizing a custom-built parser. This abstract syntax tree serves as a suitable model for drawing the flow graph. Subsequently, the DFT tool breaks down the input code into blocks, each containing a set of statements. Moving to the second stage, the DFT tool generates a table that identifies transformations for each variable across each line of the block. These transformations are categorized as 'D' for definition, 'U' for use (which may involve prediction or computation), 'DU' for a variable defined and then used, and 'UD' for a variable used after being defined. In the third stage, the DFT tool creates another table to detect anomalies, such as variables that are defined but not used. It also categorizes variables as 'D' for defined, 'U' for used, and 'K' for killed, considering all lines of the tested code. Additionally, the tool identifies the paths of each variable, distinguishing between clear and unclear paths. Finally, in the fourth stage, the DFT tool generates a table for merging paths that contain duplicated nodes. It then runs test cases on the resulting merged paths. Overall, the proposed DFT tool successfully accomplishes its objectives through a systematic process involving stages for drawing the flow graph, analyzing variable transformations, detecting anomalies, identifying variable paths, and merging paths to facilitate effective data flow testing. The proposed DFT tool exhibits exceptional levels of coverage and accuracy when applied to tested code. Depending on the behavior of the code being tested, the tool can achieve an accuracy rate surpassing 95%. Moreover, the testing coverage extends to over 90%, ensuring a comprehensive assessment of the code's functionality and potential issues.

طلب نسخة من الملف

الملفات غير منشورة على الموقع. اترك بياناتك وسيتواصل معك موظفو قسم الشؤون الثقافية والفنون لإرسال النسخة مجاناً.