حالات الاختبار هي الشروط التي سيتم اختبارها عند إنشاء البرنامج. قبل كتابة حالات الاختبار في Java، نحتاج إلى فهم ما هي حالات الاختبار. سيغطي هذا القسم مقدمة مختصرة عن حالات الاختبار ثم كيف يمكننا كتابة حالات الاختبار فيها جافا .
ما هي حالات الاختبار
حالات الاختبار هي مجموعة الشروط التي يتم اختبارها بواسطة مختبر البرامج للتطبيق المطور. يقوم المختبر بفحص وتقييم ما إذا كان البرنامج المدمج يلبي جميع متطلبات العميل. إذا تم العثور على أي خلل أو خطأ، يقوم المختبر بإبلاغ فريق التطوير. إن الحاجة إلى إنشاء حالات اختبار وإجراء الاختبار هي التحقق من تلبية جميع احتياجات العميل، وعدم وجود أخطاء في البرنامج.
على سبيل المثال: بالنسبة لوحدة تسجيل الدخول، سيقوم المُختبر بإجراء بعض حالات الاختبار التالية:
قائمة مصفوفات جافا
- تحقق من أن صفحة تسجيل الدخول تتكون من حقول نصية لاسم المستخدم وكلمة المرور وزر تسجيل الدخول.
- التحقق عند تسجيل الدخول الناجح، تتم إعادة توجيه المستخدم إلى الصفحة الرئيسية.
- التحقق من تسجيل الدخول الناجح للمستخدم من خلال تقديم اسم مستخدم وكلمة مرور صالحين.
- التحقق من تسجيل الدخول غير الناجح للمستخدم من خلال تقديم اسم مستخدم صالح وكلمة مرور غير صالحة.
- التحقق من حفظ كلمة المرور الخاصة بالمستخدم بشكل مشفر في قاعدة البيانات وهكذا.
مع هذه الحالات، يمكن أن يكون هناك حالات اختبار يمكن للمختبر التفكير فيها، وعندما يتم اجتياز جميع حالات الاختبار بنجاح، يتم تسليم البرنامج المدمج فقط إلى العميل.
لمعرفة المزيد عن حالات الاختبار، تفضل بزيارة https://www.javatpoint.com/test-case.
كيفية إنشاء حالات الاختبار في جافا
Java هي لغة برمجة موجهة للكائنات، وبناء مشروع Java يعني إنشاء الكثير من الفئات، لكل منها طرق معينة. لبناء مشروع/تطبيق جيد، نحتاج إلى اختبار المشروع والتحقق مما إذا كان التطبيق يلبي جميع المتطلبات. في Java، تلعب الفئات والأساليب دورًا حيويًا، وبالتالي نحتاج إلى اختبار الفئات والأساليب، والتي تُعرف معًا باسم a وحدة ، وهنا تأتي الحاجة إلى أداء وحدة التجارب بالنسبة لهم. لذلك، لإجراء اختبار الوحدة في Java، هناك العديد من أطر الاختبار. أحد هذه الأطر الشهيرة هو JUnit وهو إطار لأداء اختبار الوحدة. من أجل إجراء اختبار Junit، نحتاج إلى إنشاء حالات اختبار واختبار المشروع مقابل كل حالة اختبار وتحديد النتيجة.
لفهم كيفية إنشاء حالات اختبار، فلنقم بإنشاء فصل دراسي بسيط وفحصه.
دعونا إنشاء فئة DemoClass في Eclipse حيث قمنا بإجراء طريقة إضافة بسيطة باتباع الخطوات التالية:
1) مفتوح الكسوف IDE وإنشاء جديد مخضرم المشروع بالضغط على ملف > جديد > أخرى... وثم حدد المعالج سيتم فتح مربع الحوار. تحت المعالجات ، سوف ترى مخضرم المستودع، انقر على القائمة المنسدلة، انقر على مشروع مافن ، ثم اضغط على التالي . تظهر لقطة أدناه:
2) حدد 'إنشاء مشروع بسيط'، أو يمكنك أيضًا تحديد النموذج الأصلي أيضًا. لقد قمنا هنا بمشروع بسيط، لذلك قمنا بتحديد خيار 'إنشاء مشروع بسيط' ثم انقر فوق التالي، كما ترون في اللقطة أدناه:
3) الآن، يمكنك أن ترى مشروع مافن الجديد سيتم فتح مربع الحوار حيث يتعين علينا توفير معرف مجموعة و معرف القطعة الأثرية من خلال ما يلي:
معرف مجموعة: إنه الاسم الفريد الذي يساعد في تمييز مجموعة مشروع واحدة عن الأخرى. إنه يتبع اصطلاح قاعدة تسمية Java، ولذلك يجب توفيره كـ com.example.javatpoint أو أي دولة أخرى.
معرف القطعة الأثرية: إنه الاسم الفريد الذي يطلق على المشروع الذي سنقوم بإنشائه. لذلك، بالنسبة لمشروعنا، قدمنا معرف المجموعة ومعرف القطعة الأثرية التاليين (أي اسم المشروع)، كما ترون في اللقطة أدناه:
قرص مرن
4) انقر على ينهي ، وسيتم إنشاء مشروع Maven الخاص بنا باستخدام ملفات معينة حيث يكون الملف الرئيسي هو xml ملف يحمل كافة تفاصيل المشروع الذي تم إنشاؤه.
5) ضمن اسم المشروع، سترى مستودعات معينة، انقر بزر الماوس الأيمن عليها src/main/java المستودع، انقر على جديد > فئة ، وإنشاء فئة جافا . وهنا خلقنا java ، حيث قمنا بتنفيذ طريقة بسيطة لإضافة رقمين. رمز على النحو التالي:
public class DemoClass { public int sum(int i, int j) { return i+j; }
يظهر مقتطف الكود أدناه:
6) الآن، قمنا بتنفيذ فصل دراسي، وحان الوقت لاختباره، ولهذا نحتاج إلى استخدامه جونيت . لذا، انتقل إلى ملف src/test/java المجلد وانقر بزر الماوس الأيمن عليه. انقر فوق جديد > حالة اختبار Junit .
وقم بإنشاء حالة اختبار JUnit باتباع اصطلاحات قاعدة التسمية.
ثم انقر على ينهي . سيتم إنشاء حالة اختبار JUnit. هنا، قمنا بإنشاء حالة اختبار JUnit كـ TestDemoClass.java ، وحصلنا على شاشة الإخراج التالية التي تغطي الكود أدناه:
import static org. junit.Assert.*; import org.junit.Test; public class TestDemoClass { @Test public void test() { fail('Not yet implemented'); } }
يظهر مقتطف الكود أدناه:
كات تيمبف صافي القيمة
هنا، استخدمنا اختبار Junit 4 الجديد. لاختبار فئة أو طريقة، نحتاج إلى استخدام التعليقات التوضيحية للاختبار، وهنا لدينا @امتحان ملاحظة قبل امتحان () طريقة.
ملاحظة: لقد أخذنا نموذجًا لمشروع يمكن اختباره يدويًا، ولكن عند تنفيذ مشروع كبير، قد يتكون من فئات متعددة بطرق عديدة. قد لا يكون فحص واختبار كل هذه العناصر يدويًا أمرًا مرنًا، وسيؤثر التغيير في فئة واحدة بالتأكيد على الفئات الأخرى. وبالتالي، يأتي دور اختبار الأتمتة، أي اختبار Junit.
7) إنشاء كائن DemoClass في حدود TestDemoClass ونحن بحاجة لاختبار مجموع ولهذا قمنا بإنشاء رمز حالة الاختبار التالي:
public class TestDemoClass { DemoClass obj=new DemoClass(); @Test public void testSum() { assertEquals(25,obj.sum(10, 15)); } }
يظهر مقتطف الكود أدناه:
8) استخدام تأكيد يساوي (expectedVal، محسوبVal) يتم استخدام الطريقة لتحديد حالة حالة الاختبار سواء كانت فاشلة أو ناجحة. لتشغيل/تنفيذ حالة اختبار، انقر بزر الماوس الأيمن على الرمز، ثم تشغيل باسم > اختبار Junit .
هياكل التحكم بيثون
9) لقد جربنا حالات الاختبار التالية:
حالة الاختبار 1: لقد أنشأنا حالة اختبار حيث اختبرنا ما إذا كان عند توفير قيمتين، نحصل على المبلغ المعني أم لا. إذا لم يكن الأمر كذلك، فسوف تفشل حالة الاختبار، ولكن بالنسبة للقيم المذكورة أعلاه، حصلنا على الإخراج التالي:
ومن ثم، فقد مرت حالة الاختبار الخاصة بنا بنجاح، وهو ما يشير إليه أخضر رمز.
حالة الاختبار 2: إذا مررنا نفس الكود للمعلمات المحسوبة (10، 15) ولكن القيمة المتوقعة كما 100 ولدينا القيم التالية للاختبار، نحصل على فشل حالة الاختبار لدينا. الرمز هو كما يلي:
public class TestDemoClass { DemoClass obj=new DemoClass(); @Test public void testSum() { assertEquals(100,obj.sum(10, 15)); } }
يظهر مقتطف الكود أدناه:
لذا، فقد فشلنا في حالة الاختبار الخاصة بنا، مما يعني أن الكود الخاص بنا صحيح، ويتم الإشارة إليه بواسطة إشارة حمراء, كما ترون في المقتطف أدناه:
حالة الاختبار 3: إذا مررنا قيمة سلبية وإيجابية للمعلمات المحسوبة كـ (-5، 8)، وقيمة المعلمة المتوقعة كما 3 ، لقد نجحنا في اجتياز حالة الاختبار الخاصة بنا، كما ترون في المقتطف أدناه:
ومع ذلك، إذا مررنا (5، -8) كقيمة محسوبة والقيمة المتوقعة 3، فإن حالة الاختبار ستفشل بالتأكيد.
حالة الاختبار 4: إذا مررنا القيمتين السالبتين للمعلمة المحسوبة كـ (-10،-15) وقيمة المعلمة المتوقعة كما -25 ، لقد نجحنا في اجتياز حالة الاختبار الخاصة بنا، كما ترون في المقتطف أدناه:
دائرة الجامع كاملة
ومع ذلك، إذا تجاوزنا القيمة المتوقعة 25، فستفشل حالة الاختبار بالتأكيد. دعونا نرى في المقتطف أدناه:
بهذه الطريقة، يمكننا التفكير في حالات الاختبار وإنشاءها وفقًا لقدرتنا على التفكير والحكم والاختبار. وبصرف النظر عن المثال الموضح أعلاه، يعمل مختبر البرامج مع تطبيقات كبيرة جدًا لاختبارها وإنشاء حالات اختبار معينة واختبارها. لتسجيل جميع حالات الاختبار، يستخدمون ورقة Excel ويفحصون ما إذا كانت حالات الاختبار التي تم إنشاؤها تلبي متطلبات العميل أم أنها تحتوي على بعض الأخطاء. يقوم مختبر البرامج بإنشاء حالات الاختبار وكتابتها من خلال التفكير في نفسه كمستخدم عادي، وبالتالي فحص التطبيق/البرنامج.