ما هو نص الاختبار؟ وكيفية كتابته مع مثال

⚡ ملخص ذكي

نص الاختبار في اختبار البرمجيات عبارة عن مجموعة من التعليمات القابلة للتنفيذ، سطرًا بسطر، تُشغّل التطبيق وتتحقق من كل خطوة. يغطي هذا الدليل طرق البناء الثلاث، وقالبًا قابلًا لإعادة الاستخدام، ونموذجًا عمليًا. Selenium مثال.

  • 📝 التعريف الأساسي: يحدد البرنامج النصي كل معاملة يجب تنفيذها، والمدخلات الدقيقة التي يجب إدخالها، والنتيجة المتوقعة لكل خطوة.
  • 🎛️ ثلاث طرق للبناء: التسجيل والتشغيل، وكتابة البرامج النصية المعتمدة على الكلمات المفتاحية أو البيانات، وكتابة التعليمات البرمجية مباشرة بلغة برمجة.
  • 🧱 حرية اللغة: لا يشترط أن تتطابق لغة البرمجة النصية مع لغة التطبيق، لذا... Java يمكن اختبار المنتج باستخدام Javaالبرنامج النصي أو Python.
  • 📋 الانضباط القائم على القوالب: يقوم قالب قياسي بإصلاح حقول المعرف والشروط المسبقة وبيانات الاختبار والخطوات والنتيجة المتوقعة والحالة.
  • 🇧🇷 السيناريو مقابل الحالة: حالة الاختبار هي إجراء يدوي خطوة بخطوة، بينما يتم تنفيذ نص الاختبار تلقائيًا بواسطة أداة.
  • ✅ قواعد الجودة: حافظ على وضوح كل نص برمجي، واقتصر كل خطوة على إجراء واحد، وصمم المسارات من منظور المستخدم الحقيقي.

ما هو نص الاختبار

ما هو البرنامج النصي للاختبار في اختبار البرمجيات؟

A نص الاختبار هو وصف تفصيلي لمعاملات النظام التي يجب تنفيذها للتحقق من صحة التطبيق قيد الاختبار. يسرد كل خطوة يجب اتخاذها مع النتيجة المتوقعة لكل منها.

بما أنه برنامج تنفيذي، يمكن إعادة تشغيل نفس البرنامج النصي بشكل منهجي عبر العديد من الأجهزة والإصدارات. يسجل البرنامج النصي القابل للاستخدام دائمًا كلاً من المدخلات الفعلية المراد إدخالها والمخرجات المتوقعة.

كيفية كتابة نص الاختبار

اختبار كتابي
اختبار كتابي

هناك ثلاث طرق مختلفة لإنشاء برنامج نصي للاختبار:

تسجيل وتشغيل

في هذه الطريقة، لا يحتاج المختبِر إلى كتابة أي كود على الإطلاق، بل يكتفي بتسجيل إجراءات المستخدم. ومع ذلك، يظلّ استخدام الكود ضروريًا لاحقًا لإصلاح أي خطأ أو لضبط سلوك الأتمتة بدقة.

هذه الطريقة أسهل من كتابة برنامج نصي اختباري كامل من البداية لأن لديك الكود الكامل بالفعل. يتم استخدامه في الغالب في لغة برمجة مبسطة مثل VBScript.

كتابة البرامج النصية المعتمدة على الكلمات المفتاحية أو البيانات

في هذه الطريقة، يوجد فصل واضح بين المختبرين والمطورين. في البرمجة النصية المبنية على البيانات، يحدد المُختبر الاختبار باستخدام الكلمات الأساسية دون معرفة الكود الأساسي.

هنا، تتمثل مهمة المطورين في تنفيذ كود البرنامج النصي للاختبار للكلمات الرئيسية وتحديث هذا الكود عند الحاجة. لذا، في هذه الطريقة، لا يحتاج المختبر إلى القلق بشأن النظام. ومع ذلك، سيعتمدون بشكل كبير على موارد التطوير لأي وظيفة جديدة تريد اختبارها تلقائيًا.

كتابة التعليمات البرمجية بلغة برمجة

إذا اخترت هذه الطريقة، فستظل لديك عادةً إمكانية التسجيل والتشغيل لإنشاء مسودة أولية للنص.

عاجلاً أم آجلاً، سيحتاج المختبر إلى تجاوز التسجيل والتشغيل وتعلم كتابة البرامج النصية البسيطة يدويًا. من المهم أن تفهم أنه يمكنك اختيار لغة البرمجة حتى لو كان طلبك مكتوبًا Java.

ومع ذلك، هذا لا يعني أنك بحاجة إلى كتابة نصوص الاختبار الخاصة بك Java، والتي قد يكون من الصعب تعلمها. بدلاً من ذلك، يمكنك كتابة نصوص الاختبار الخاصة بك بلغة أسهل مثل Javaسيناريو أو روبي (أو أي لغة أسهل ترغب في استخدامها).

#1 الأفضل بشكل عاماختبار سيغما
9.8/ 10
★ ★ ★ ★ ★
احصل على عرض تجريبي مجاني
PractiTest
9.5/ 10
★ ★ ★ ★ ★
قم بزيارة : PractiTest
Testiny
9.3/ 10
★ ★ ★ ★ ★
قم بزيارة : Testiny
أفضل من أجلاختبار الأتمتةإدارة الاختبارفرق ضمان الجودة الصغيرة والمتوسطة
ميزة رئيسية✓أنشئ اختبارات آلية في ثوانٍ✓إدارة الاختبارات المركزية✓حالات الاختبار اليدوية والآلية
آلية الربط✓Jenkins, Slack، جيرا✓جيرا، Jenkins, Slack✓Jira، GitHub، GitLab
تجربة مجانيّةالتجريب المجانيشنومكس يوم التجربة المجانيةالتجريب المجاني
احصل على عرض تجريبي مجانيقم بزيارة : PractiTestقم بزيارة : Testiny

مثال على البرنامج النصي للاختبار

على سبيل المثال، للتحقق من وظيفة تسجيل الدخول على موقع ويب، قد يقوم البرنامج النصي للاختبار الخاص بك بما يلي:

  • حدد كيف يمكن لأداة التشغيل الآلي تحديد موقع حقلي "اسم المستخدم" و"كلمة المرور" في شاشة تسجيل الدخول. دعنا نقول، من خلال معرفات عناصر CSS الخاصة بهم.
  • قم بتحميل الصفحة الرئيسية للموقع، ثم اضغط على رابط "تسجيل الدخول". تأكد من ظهور شاشة تسجيل الدخول ومن ظهور حقلي "اسم المستخدم" و"كلمة المرور".
  • اكتب اسم المستخدم "Charles" وكلمة المرور "123456"، ثم حدد موقع زر "التأكيد" وانقر عليه.
  • إنهم بحاجة إلى تحديد كيف يمكن للمستخدم تحديد موقع عنوان شاشة الترحيب التي تظهر بعد تسجيل الدخول، على سبيل المثال، من خلال معرف عنصر CSS الخاص به.
  • تأكد من أن عنوان شاشة الترحيب مرئي.
  • اقرأ عنوان شاشة الترحيب.
  • أكد أن نص العنوان يساوي "مرحباً تشارلز".
  • إذا كان العنوان مطابقاً للتوقعات، فسجل الاختبار على أنه ناجح. وإلا، فسجله على أنه فاشل.

نموذج نص اختبار في Selenium مع Java

تصف القائمة أعلاه اختبار تسجيل الدخول بلغة إنجليزية بسيطة. إليك نفس الاختبار مكتوبًا كبرنامج نصي قابل للتنفيذ، باستخدام Selenium WebDriver و JUnitكل نقطة تمثل سطرًا أو سطرين من التعليمات البرمجية.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.Test;

public class LoginTestScript {

    @Test
    public void validLoginShowsWelcomeMessage() {
        // Step 1: start the browser and open the site
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/login.html");

        // Step 2: locate the fields by their element ids
        driver.findElement(By.id("email")).sendKeys("Charles");
        driver.findElement(By.id("passwd")).sendKeys("123456");

        // Step 3: submit the form
        driver.findElement(By.id("SubmitLogin")).click();

        // Step 4: read the welcome title and assert the expected result
        String actual = driver.findElement(By.id("welcome")).getText();
        Assert.assertEquals("Welcome Charles", actual);

        driver.quit();
    }
}

ثلاثة تفاصيل تميز النص الحقيقي عن النص المسجل:

  • محددات المواقع واضحة. يتم العثور على العناصر بواسطة المعرف بدلاً من موضع الشاشة، لذا فإن البرنامج النصي يبقى فعالاً حتى مع تغيير التخطيط.
  • الادعاء هو الاختبار. بدون assertEquals، يقوم البرنامج النصي بالنقر فقط؛ فالتأكيد هو الذي يحدد النجاح أو الفشل.
  • عملية التنظيف تعمل دائماً. يؤدي الأمر driver.quit() إلى تحرير المتصفح، وإلا فإن عملية التشغيل الفاشلة تترك العمليات عالقة.

ينطبق نفس الهيكل في أي لغة. Python مع Selenium تصبح الاستدعاءات driver.find_element(By.ID, “email”) و assert actual == “Welcome Charles” .

نصائح لإنشاء برنامج نصي للاختبار

فيما يلي بعض النصائح المهمة لإنشاء برنامج نصي للاختبار:

حافظ على وضوحها

يجب أن يكون نص الاختبار واضحًا بما يكفي لتشغيله دون مساعدة. إذا اضطر المختبر إلى الاستمرار في سؤال صاحب المشروع عن تفاصيل التطبيق، فإن ذلك يُهدر الوقت والموارد.

لتجنب ذلك، تأكد من أن كل خطوة في نص الاختبار واضحة وموجزة ومتماسكة. هذا يساعد على ضمان سلاسة عملية الاختبار.

يبقيه بسيط

يجب عليك إنشاء برنامج نصي للاختبار يجب أن يحتوي على إجراء محدد واحد فقط ليقوم به المختبرون. وهذا يضمن أن يتم اختبار كل وظيفة بشكل صحيح وأن المختبرين لا يفوتون خطوات عملية اختبار البرنامج.

فكر بالأمر مليا

لكتابة نص الاختبار، عليك أن تضع نفسك مكان المستخدم لتقرر المسارات التي سيتم اختبارها. يجب أن تكون مبدعًا بما يكفي للتنبؤ بجميع المسارات المختلفة التي قد يستخدمها المستخدمون أثناء تشغيل النظام أو التطبيق.

متى يجب استخدام نهج البرنامج النصي للاختبار؟

فيما يلي أسباب استخدام البرنامج النصي للاختبار.

  • يُعد سيناريو الاختبار الطريقة الأكثر موثوقية للتأكد من عدم تخطي أي خطوة وأن النتائج تتطابق مع خطة الاختبار المتفق عليها.
  • يُقلل البرنامج النصي المُعدّ مسبقاً من احتمالية حدوث أخطاء أثناء التنفيذ.
  • عندما يستكشف المختبرون منتجًا ما بحرية، قد يغفلون بسهولة عن بعض الميزات.
  • قد يفترض المختبر أيضًا أن الدالة أنتجت النتيجة المتوقعة بينما لم تفعل ذلك.
  • إنه مفيد بشكل خاص عندما يكون أداء المستخدم مهمًا ومحددًا.

ما هو قالب البرنامج النصي للاختبار؟

قالب نص الاختبار هو مستند قابل لإعادة الاستخدام ومنسق مسبقًا يحتوي على الحقول التي يجب على كل نص برمجي في مشروعك ملؤها. يحدد توحيده مدى تفصيل اختباراتك ويضمن عدم اضطرار أي مراجع إلى تخمين معنى خطوة ما.

يحتوي القالب العملي على هذه الحقول:

الحقل الهدف
معرّف البرنامج النصي معرّف فريد يستخدم لـ tracالقدرة على الربط بين العيوب
العنوان سطر واحد يوضح ما يتحقق منه البرنامج النصي
وحدة أو ميزة مجال التطبيق قيد الاختبار
الشروط المسبقة حدد الحالة التي يجب أن يكون عليها النظام قبل تشغيل الخطوة الأولى
بيانات الاختبار المدخلات الدقيقة، بما في ذلك بيانات الاعتماد وقيم الحدود.
خطوات إجراءات مرقمة، إجراء واحد لكل خطوة
نتيجة متوقعة النتيجة الملحوظة لكل خطوة
نتيجة فعلية تم ملؤها وقت التنفيذ
الحالة ناجح، فاشل، محظور، أو غير قابل للتنفيذ
المؤلف والتاريخ تاريخ الملكية والإصدار

الفرق بين حالة الاختبار ونص الاختبار

فيما يلي الفروقات الرئيسية بين حالة الاختبار ونص الاختبار:

حالة الاختبار اختبار كتابي
حالة اختبار هو إجراء خطوة بخطوة يتم استخدامه لاختبار التطبيق. البرنامج النصي للاختبار عبارة عن مجموعة من الإرشادات لاختبار التطبيق تلقائيًا.
تُستخدم حالات الاختبار في بيئة الاختبار اليدوي. يتم استخدام اختبار البرنامج النصي في بيئة اختبار الأتمتة.
يتم ذلك يدويا. يتم ذلك وفقًا لتنسيق البرمجة النصية.
يتضمن قالب حالة الاختبار معرف الاختبار وبيانات الاختبار وإجراءات الاختبار والنتائج الفعلية والمتوقعة وما إلى ذلك. في البرنامج النصي للاختبار، يمكننا استخدام أوامر مختلفة لتطوير البرنامج النصي.

مزايا وعيوب سيناريوهات الاختبار

كتابة البرامج النصية استثمار. معرفة أين يعود بالنفع يحدد لك الاختبارات التي يجب أتمتتها أولاً.

المزايا

  • قابل للتكرار: يتم تنفيذ نفس الخطوات بشكل متطابق في كل إصدار، وهذا ما يجعل اختبار الانحدار عمليًا.
  • سريع على نطاق واسع: يمكن تشغيل مجموعة من الاختبارات التي تستغرق من المختبر يومًا كاملاً في دقائق، ويمكن تشغيلها طوال الليل.
  • ثابت: لا يشعر النص بالملل أبدًا، ولا يتخطى خطوة، ولا يسيء قراءة النتيجة.
  • عبر منصة: يمكن إعادة تشغيل نص برمجي واحد عبر المتصفحات والأجهزة وأنظمة التشغيل.
  • جاهز للتكامل المستمر: يتم ربط البرامج النصية بخط أنابيب البناء بحيث يتم التحقق من كل عملية إيداع تلقائيًا.

عيوب

  • تكلفة إعداد مرتفعة: كتابة وتصحيح البرنامج النصي يستغرق وقتاً أطول بكثير من تشغيل الاختبار مرة واحدة يدوياً.
  • عبء الصيانة: يؤدي تغيير معرف العنصر أو إعادة تصميم الصفحة إلى تعطيل البرامج النصية التي يجب إصلاحها بعد ذلك.
  • متطلبات المهارة: بالإضافة إلى التسجيل والتشغيل، يحتاج الفريق إلى القدرة على البرمجة.
  • أعمى عن غير المتوقع: لا يتحقق البرنامج النصي إلا مما طُلب منه التحقق منه، لذا فإن العيوب البصرية وعيوب سهولة الاستخدام تمر دون ملاحظة.
  • ثقة زائفة: يمكن لمجموعة من البرامج النصية السطحية ذات اللون الأخضر أن تخفي الثغرات الحقيقية في التغطية.

القاعدة العملية: اكتب مسارات ثابتة ومتكررة وعالية المخاطر، واحتفظ بدليل العمل الاستكشافي وسهولة الاستخدام.

نص الاختبار: أهم النقاط

  • البرامج النصية للاختبار تعني وصفًا سطريًا يحتوي على معلومات حول معاملات النظام التي يجب تنفيذها للتحقق من صحة التطبيق أو النظام قيد الاختبار.
  • حالة الاختبار هي إجراء خطوة بخطوة يتم استخدامه لاختبار أحد التطبيقات، في حين أن البرنامج النصي للاختبار عبارة عن مجموعة من الإرشادات لاختبار التطبيق تلقائيًا.
  • ثلاث طرق لإنشاء نص اختبار هي: 1) التسجيل/التشغيل، 2) كتابة النصوص البرمجية المعتمدة على الكلمات المفتاحية/البيانات، 3) الكتابة Code استخدام لغة البرمجة.
  • يجب أن يكون البرنامج النصي للاختبار واضحًا ويجب عليك إنشاء برنامج نصي للاختبار يجب أن يحتوي على إجراء واحد محدد فقط ليقوم به المختبرون.
  • يُعد سيناريو الاختبار الطريقة الأكثر موثوقية للتأكد من عدم تخطي أي خطوة وأن النتائج تتطابق مع خطة الاختبار المتفق عليها.
  • قالب البرنامج النصي للاختبار هو مستند منسق قابل لإعادة الاستخدام ويحتوي على معلومات محددة مسبقًا مهمة لإنشاء برنامج نصي للاختبار قابل للاستخدام.

الأسئلة الشائعة

حالة الاختبار هي إجراء يدوي مُفصّل خطوة بخطوة، مُصمّم خصيصًا للمُختبِر البشري. أما نص الاختبار فهو عبارة عن كود قابل للتنفيذ، تُشغّله أداة تلقائيًا. غالبًا ما تتحول حالة الاختبار الواحدة إلى نص اختبار واحد بمجرد أتمتتها.

ابدأ بالتسجيل والتشغيل لمعاينة البنية، ثم عدّل الكود المُولّد. انتقل إلى كتابة البرامج النصية يدويًا بمجرد تعطل البرامج المسجلة، لأن مُحدِّدات المواقع المسجلة نادرًا ما تبقى سليمة بعد تغيير واجهة المستخدم.

أي شيء يُنفذ مرة واحدة، وأي شيء يتغير في كل دورة تطوير، وأي شيء يُقيّم بصريًا. تكلفة كتابة البرامج النصية للاختبارات الاستكشافية، ومراجعة سهولة الاستخدام، والفحوصات الفردية أعلى من تكلفتها عند تنفيذها يدويًا.

نعم. يمكن لأدوات الذكاء الاصطناعي تحويل حالات الاختبار المكتوبة إلى نصوص قابلة للتنفيذ واقتراح محددات ذاتية الإصلاح عند تغيير عنصر ما. Revراجع كل تأكيد تم إنشاؤه، لأن البرنامج النصي الذي لا يفشل أبدًا لا يختبر أي شيء.

تكتشف الأدوات المدعومة بالذكاء الاصطناعي العناصر المتغيرة وتُحدّث مواقعها تلقائيًا دون تدخل بشري، مما يقلل من السبب الأكثر شيوعًا لتعطل البرامج النصية. مع ذلك، لا تزال الفرق تُراجع التغييرات قبل إعادة اعتماد هذه الأدوات.

تلخيص هذه التدوينة بـ: