Free YouTube Transcribe

Video transcript

MP - 7

MecaHormiga · 6,574 words · 30 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

4:05مرحباً ، كيف حالكم ؟

4:07كيف الأمور ؟ هل

4:11تسمعونني ؟

4:13>> مرحباً ، مساء الخير يا

4:14أستاذ .

4:15>> أهلاً يا أستاذ .

4:16>> مساء الخير .

4:18>> كيف الحال ؟ كيف تسير

4:19الأمور ؟ يوم سعيد .

4:22إنها المرة الأولى

4:24التي ،

4:26>> لا أعرف لماذا . لا أعلم

4:28لماذا هناك درس يا

4:30شباب . أقولها لكم هكذا .

4:37حسناً ، جيد . إم اليوم

4:46سنبدأ بالتعرف على

4:48مرحلة عملية التصميم

4:49وعملية تنفيذ

4:51الاختبارات . حسناً .

4:55وبعد ذلك بمجرد

4:56الانتهاء من هذا ،

4:57سأشرح لكم المهمة

4:59الثانية . لكي تقوموا

5:05بها وترسلوها لي مثل

5:06المهمة الأولى ، وإذا

5:08كان هناك شيء خاطئ

5:10فسأخبركم به . على أي

5:16حال ، لنبدأ الآن

5:17بالمرحلة الأولى . إذن ،

5:24سنلقي نظرة سريعة على

5:25مرحلة التصميم . حسناً ،

5:30هنا سيكون هناك دور

5:31لمصمم الاختبار الذي

5:33سيقوم بإنشاء حالات

5:35الاختبار مع بيانات

5:36الاختبار . حسناً ،

5:43الكثير من هذا .

5:46انتظروني ثانية ، هناك

5:48المزيد من الأشخاص

5:50قادمون . الكثير من إم

5:56لقد تحدثنا عن

5:57الاختبار ، وقلت لكم

5:59مرات عديدة عن المراحل

6:01المبكرة . حسناً ، لكن

6:03مشكلة الاختبار في

6:05المراحل المبكرة هي

6:06أنه أحياناً تكون هناك

6:08مكونات غير جاهزة

6:10لأنها لم تُطور بعد ،

6:12أي أننا نريد البدء

6:13بالاختبار في أقرب وقت

6:15ممكن . حسناً . حسناً ،

6:18لكن المطور لم يطور

6:20بعض الأشياء بعد .

6:23لنفترض أننا نحتاج إلى

6:25اختبار حذف عميل ، لكن

6:27لم يتم تطوير إضافة

6:29ذلك العميل بعد . إذن ،

6:32ماذا نفعل ؟ حسناً ،

6:36نلجأ إلى القيام

6:37بعمليات معينة أو

6:39إدخالات وهمية ، في

6:41قاعدة البيانات أو في

6:43أي مكان ، تسمح لنا

6:45بإضافة عميل قد لا

6:46يكون موجوداً . إذن ،

6:50مفهوما المشغل ( driver )

6:52والمحاكي ( stub ) سيسمحان

6:54لنا بالقيام بكل هذا .

6:56أي أنها وحدات تحكم

6:57تحاكي المدخلات

6:59والمخرجات . المشغلات

7:02هي وحدات تحكم ستحاكي

7:04بيانات الإدخال . حسناً

7:06. والمحاكيات هي وحدات

7:12تحكم ستحاكي مكوناً

7:14يستقبل البيانات التي

7:16نولدها ، لكنه

7:17يستقبلها بشكل وهمي .

7:23أي أنه كأنه يأخذها

7:25ويرميها في القمامة

7:27ولا يفعل شيئاً بها .

7:31لنفترض أننا نستخدم

7:33تطبيقاً من تطبيقات

7:35طلب الطعام ، ونقوم

7:36باختبار وظيفة طلب

7:38الطعام . حسناً ، نطلب

7:41الطعام ، ونضغط على

7:43تأكيد الطلب . هنا

7:45يأخذه المحاكي ، يأخذه

7:47ويرميه . لنفترض أنه

7:49يقوم بالطلب . بالفعل .

7:52حسناً . يتم تمريره إلى

7:55مكون آخر . حسناً . يفعل ،

7:58أي كما لو كان يقول : "

8:00حسناً ، لقد تم قبول

8:02هذا الطلب . " نعم ،

8:03لنواصل المضي قدماً .

8:06إذاً ، " مشغل " ( driver ) هذه

8:08العناصر هو مكونات

8:10وهمية تحاكي مكونات

8:12أخرى غير موجودة . ولكن

8:15، لماذا أحتاج إلى

8:16القدرة على اختبار هذا

8:18النظام في مرحلة مبكرة

8:20جداً ؟ حسناً ، بعد قول

8:22هذا الذي كررته لكم

8:24مرات عديدة ، أي كلما

8:26اختبرنا بشكل أبكر كان

8:28ذلك أفضل . إذاً ، دعونا

8:30ننتقل للحديث عما يتم

8:32القيام به خلال مرحلة

8:34التصميم . حسناً ، وفي

8:37مرحلة التحليل قلنا

8:38إننا ركزنا على ما يجب

8:40علينا اختباره في

8:42مرحلة التصميم . حسناً ،

8:44ما يجب أن نفكر فيه هو

8:46كيف سنختبر ما قلنا

8:48إننا سنختبره . إذاً ،

8:50في كثير من الأحيان

8:52خلال هذه المرحلة نفكر

8:54في ، لا أدري ، أنواع

8:56الاختبارات التي

8:58سنقوم بها ،

8:59والمستويات التي

9:00سنعمل عليها ، حسناً ،

9:02إيه ، أو ما إذا كنا

9:07سنقوم بالأتمتة . حسناً

9:09، سنقوم أيضاً بتفصيل

9:11تلك الأفكار ،

9:12وسيناريوهات الاختبار

9:14تلك ، لتحويلها إلى

9:15الحالات الضرورية في

9:17حالات الاختبار . سنهتم

9:20بكيفية التحكم في

9:21تغييرات الإعدادات ،

9:23وهي أمور تتعلق

9:24بالانضباط الذي يسمى

9:26إدارة تهيئة

9:27البرمجيات . لكن أساساً

9:30ما نفعله هو التفكير

9:32في كيفية اختبار ما

9:34قلنا إننا سنختبره

9:35وعلاقته بما رأيناه

9:37بالفعل . حسناً ، سنفصل

9:40أفكار الاختبارات في

9:42حالات الاختبار ،

9:44لأنني أقول ما رأيناه

9:46بوضوح ، أليس كذلك ؟

9:48لأننا رأيناها في

9:49الدروس السابقة أو

9:51للتو ، حسناً ، كنت أقول

9:52إنه يجب علينا التفكير

9:54في كيفية اختبار ذلك ،

9:56حسناً ؟ أي أننا سنساهم

9:58في استراتيجية

9:59الاختبارات ، لكننا لم

10:01نرَ ذلك بعد . حسناً ،

10:03سنرى ذلك لاحقاً . بشكل

10:06عام ، الشخص الذي سيعمل

10:12أو سينفذ هذه المرحلة

10:14هو المسؤول ، وسيكون

10:16شخصاً يسمى مصمم

10:18الاختبارات . حسناً ،

10:22ربما يمكنكم إطلاق هذا

10:24الاسم عليه . لاحقاً

10:26سأخبركم بالتفصيل

10:27عندما أتحدث كثيراً

10:29بصيغة الاحتمال ، وهذا

10:31المصمم للاختبارات

10:33سيساعد جزئياً مسؤولي

10:34الاختبارات ، حسناً ؟

10:38أي استراتيجية

10:39الاختبارات التي

10:41يراها أكثر ملاءمة

10:42لهذا المشروع تحديداً

10:44أو لهذه الوظائف ،

10:45وغالباً ما يساهمون

10:47أيضاً في اختيار

10:48الأدوات وسيكونون هم

10:50من ينتقلون إلى مستوى

10:52التفاصيل . كيف سنختبر

10:56ما قلنا إننا سنختبره ؟

11:01حسناً ، يجب أن يكون

11:02الشخص استراتيجياً

11:04أيضاً ، وأن يمتلك

11:06تفكيراً استراتيجياً

11:08وتفكيراً تحليلياً ،

11:09يحلل كل شيء جيداً

11:11ويفكر في الطريقة

11:13الأمثل للحل . أحد

11:21تحديات مواجهة هذه

11:22الاختبارات هو ضرورة

11:24امتلاك الخبرة ومعرفة

11:26الأداة ؛ فتكليف مبتدئ

11:28بتصميم حالات

11:29الاختبار لن يكون

11:30استراتيجية جيدة إذا

11:32كنتم أنتم القادة .

11:42الأداة التي يتم

11:43إنشاؤها كجزء من هذا

11:45النشاط هي " حالات

11:46الاختبار " ، والتي أجرؤ

11:48على القول إنها نجمة

11:50الاختبار ، أليس كذلك ؟

11:52لأنكم بالتأكيد قد

11:53سمعتم عن حالات

11:54الاختبار فهي الأكثر

11:56شهرة . حسناً ، وهي

11:58قديمة نوعاً ما . حسناً

12:00، ما هي حالة الاختبار

12:02؟ هي مجموعة من مدخلات

12:11الاختبار ، وشروط

12:12التنفيذ ، والنتائج

12:14المتوقعة ، طُوِّرت

12:16لهدف محدد ، مثل تجربة

12:18مسار معين في برنامج

12:21أو التحقق مما إذا كان

12:23يلبي قصة مستخدم محددة

12:25، كما يقول النص . هذا

12:37في البداية ذكرت ربما

12:38بعض السمات ، سمات حالة

12:40الاختبار التي سنراها

12:42جيداً في شرائح لاحقة .

12:47بعد ذلك يقول إنها

12:48مصممة لهدف معين . يضرب

12:51مثالاً بأن هذا الهدف

12:53قد يكون التحقق من

12:54نظام ما ، لضمان تلبيته

12:56للمتطلبات ، وفي هذه

12:58الحالة ، لقصص

13:00المستخدمين . هي إحدى

13:01الطرق التي لدينا

13:03لتوثيق الاختبارات

13:04التي سنقوم بها ،

13:06وبالطبع النتائج التي

13:08نحصل عليها عند إجراء

13:09تلك الاختبارات . هناك "

13:14سيتك " ، وهو مختبر

13:16معروف جداً ، ومن

13:17الجانب الأكثر شاعرية

13:19يقول إن حالة الاختبار

13:21هي سؤال يوجه للنظام

13:23للحصول على معلومات .

13:26على سبيل المثال ، ما

13:28إذا كان هذا المسار

13:30ينجح أم يفشل . انتبهوا

13:32، ليس دائماً ما يُنظر

13:34إلى هذا الاكتمال كشيء

13:36إيجابي . إذا كنتم

13:37تتذكرون البيان

13:38الرشيق ( Agile Manifesto ) الذي

13:40كان يفضل البرمجيات

13:42العاملة على التوثيق

13:43الشامل . أحياناً يكون

13:45من الأفضل الاكتفاء

13:47بفكرة الاختبار أو

13:48السيناريو ، وأحياناً

13:49أخرى يكون من الأفضل

13:51الانتقال إلى حالات

13:52الاختبار . لقد تحدثت

13:54معكم كثيراً عن مزايا

13:56وعيوب كل منهما .

13:59أحياناً يكون من الجيد

14:00إعداد حالات الاختبار

14:02لامتلاك دليل خطوة

14:03بخطوة ، لأنه ليس

14:05دائماً الشخص الذي

14:06يصمم الاختبار هو نفسه

14:08من سينفذه . لذا يجب على

14:10الطرف الآخر معرفة

14:11الخطوات الواجب

14:12تنفيذها في ذلك

14:13السيناريو . ومن ناحية

14:15أخرى ، وهو أمر متقدم

14:17قليلاً ، عندما يتولى

14:19مختبر الأتمتة المهمة

14:21، لن يعرف الخطوات

14:22المطلوبة للوصول إلى

14:24النتيجة المتوقعة .

14:26حسناً . كما أنها تعمل

14:29كمادة تدريبية عند

14:31انضمام شخص جديد إلى

14:33المشروع . حسناً . ثم يجب

14:36الأخذ في الاعتبار

14:38حالات الاختبار

14:39الإيجابية وحالات

14:40الاختبار السلبية .

14:44حسناً ، حالات

14:45الاختبار الإيجابية

14:47تظهر الوظائف ، بينما

14:48تختبر حالات الاختبار

14:50السلبية المواقف التي

14:52تتضمن معالجة الأخطاء .

14:56حسناً ، على سبيل

14:58المثال ، لنقل أن لدي

15:00شرطاً ينص على أن سعر

15:02المنتج يجب أن يكون

15:03أكبر من صفر . حالات

15:07الاختبار الإيجابية :

15:09السعر يساوي 0 ، السعر

15:11يساوي 10 ، السعر يساوي

15:1315 . حسناً ، حالة

15:15الاختبار السلبية :

15:17السعر يساوي -5 . حسناً ،

15:20في هذه الحالة يجب أن

15:21يكون النظام قادراً

15:23على تحديد أنه موقف

15:25خطأ وإرسال رسالة خطأ

15:26إلى التطبيق . حسناً ،

15:28يمكن إجراء عدة حالات

15:30اختبار لتحديد ما إذا

15:31كان المطلب مستوفياً ،

15:33ولكن يجب أن تكون هناك

15:35حالة اختبار واحدة على

15:37الأقل لكل مطلب . هذا

15:39مثال كلاسيكي جداً

15:41لحالة اختبار . حسناً ،

15:43سيكون لها معرف ( ID ) وهو

15:45المعرف الفريد لحالة

15:47الاختبار I001 . كما

15:49تلاحظون هنا ، هذه

15:51الحالة الاختبارية من

15:53الواضح أنها تم

15:54إعدادها باستخدام

15:55برنامج Excel . حسناً ،

15:57لاحقاً سنرى كيف يتم

15:59ذلك بشكل جيد في نظام

16:01Jira . أحياناً ، الشركات

16:04لا تملك أداة لإدارة

16:06حالات الاختبار . إذن ،

16:07ماذا سيستخدمون ؟

16:09يستخدمون ملف Excel .

16:11حسناً ، شيئاً بسيطاً

16:12للغاية . ذكرت موضوع

16:14الأدوات . هناك أدوات

16:18تسمح بالإدارة ، كما

16:20ذكرت ، الأكثر شهرة هي

16:22Azure ، TestLink ، وأيضاً Jira

16:24كما قلت للتو ، لكنها

16:27مدفوعة ومكلفة ،

16:28وأحياناً تجد الشركات

16:31الاستشارية صعوبة في

16:33دفع تكاليفها . لكن

16:37بالعودة إلى موضوع

16:39حالات الاختبار ، فهي

16:40تحتوي أيضاً على عنوان

16:42عام ، وهو يمثل فكرة

16:44الاختبار أو

16:45السيناريو . حسناً . ثم

16:51لديهم وصف قصير وموجز

16:53عما يدور حوله

16:55الاختبار ، وما الذي

16:57يريدون اختباره . حسناً

17:02، حظر المستخدم بعد

17:04محاولتي دخول فاشلتين .

17:07ثم تأتي الشروط

17:08المسبقة ، وهنا يواجه

17:10فريقي أكبر المشاكل

17:12لأنني لا أعرف لماذا

17:13يجدون صعوبة كبيرة في

17:15فهم ما هي الشروط

17:17المسبقة . المتطلبات

17:20المسبقة هي أمور يجب

17:22أن تحدث قبل أن نتمكن

17:23من إجراء هذا الاختبار

17:25. وفي الواقع ، ليست

17:27شيئاً موجوداً في جميع

17:28حالات الاختبار . قد

17:30توجد حالة اختبار بدون

17:32متطلبات مسبقة . يتم

17:34وضع المتطلبات

17:35المسبقة فقط إذا لزم

17:36الأمر عند حدوث حدث ما

17:38قبل تنفيذ حالة

17:40الاختبار هذه . على

17:42سبيل المثال ، إذا كنت

17:44سأقوم بإضافة مستخدم ،

17:46فليس لدي شرط مسبق سوى

17:48الدخول إلى النظام ،

17:50ولكن بما أن الدخول

17:52إلى النظام هو شيء يجب

17:54أن أفعله دائماً ، فلا

17:56يوجد شرط مسبق . في هذه

18:01الحالة يوجد شرط مسبق ،

18:03لأنني إذا كنت أختبر

18:05شيئاً يفشل بعد

18:06محاولتين فاشلتين في

18:08المحاولة الثالثة ،

18:10فيجب أن أكون قد حفظت

18:12مسبقاً طريقة الفشل

18:14مرتين ، لأنها ليست

18:16شيئاً أمتلكه كشرط

18:17مسبق في كل الحالات .

18:22هذا مهم بالفعل . ومن

18:25ناحية أخرى ، من المهم

18:26عدم إجبارها على

18:28الظهور . حسناً . بمعنى ،

18:30إذا كان هناك شيء

18:32أحتاج لاختباره ،

18:33سأقوم بوضعه . إذا لم

18:35يكن كذلك ، فبيانات

18:36الاختبار ليست ضرورية

18:38بعد ذلك . أي ، ما الذي

18:40سأقوم باختباره ، وما

18:42هي البيانات التي

18:43سأستخدمها لتنفيذ هذه

18:45الاختبارات بشكل جيد .

18:49إيه ، أحياناً يكون غير

18:54ضروري ، وأحياناً يكون

18:56تكراراً . حسناً ، على

18:57سبيل المثال ، إذا قيل

18:58لي : " يجب عليك تسجيل

19:00الدخول كمسؤول " ، فمن

19:01الجيد أن يكون لديك

19:02ذلك كبيانات اختبار .

19:04الأمر نفسه ينطبق

19:05دائماً على بيانات

19:07الاختبار ، فالخطوات ،

19:08الخطوات مهمة جداً ،

19:10أليس كذلك ؟ لأنها هي

19:12التي ستخبرني كيف يجب

19:13أن أنفذ حالة الاختبار

19:15: الدخول إلى التطبيق ،

19:17إدخال بيانات تسجيل

19:19الدخول ، الضغط على

19:20موافق ، والتحقق من

19:22سلوك النظام . لاحظوا

19:23أنني أعبر عنها هنا

19:25بصيغة المصدر فقط ،

19:26أليس كذلك ؟ بشكل عام ،

19:28ليس من الممارسات

19:30الجيدة التعبير عنها

19:31بصيغة المصدر . حسناً ،

19:33القيام بهذا الشيء ،

19:35القيام بذلك الشيء

19:36الآخر ، أليس كذلك ؟

19:38وحسناً ، خطوة بخطوة .

19:41يجب أن تدركوا في حالة

19:43الاختبار هذه أنكم لن

19:45تكونوا أنتم من ينفذ

19:46هذا الاختبار . حسناً ،

19:49إذاً ، هل يتعين على

19:50شخص آخر فهم هذه

19:52الخطوة ؟ الخطوة التي

19:54ستنشئونها إذا كنتم

19:55تستطيعون الدخول إلى

19:57التطبيق ، إدخال

19:58بيانات تسجيل الدخول ،

20:00والتحقق من سلوك

20:01النظام . حسناً ، ستكون

20:03الخطوة الأخيرة هناك

20:04هي التحقق من هذا

20:06الشيء أو ذاك ، لأننا

20:08نستطيع القيام بهذه

20:09السلسلة من الخطوات

20:11للتحقق من شيء ما . إذاً

20:13، بشكل عام ، تكون تلك

20:15الخطوة الأخيرة هي

20:17التحقق من شيء آخر . إيه

20:21، ربما يمكن أن تحتوي

20:25حالات الاختبار على

20:26شرط مسبق يتمثل في

20:28تنفيذ حالة اختبار

20:29أخرى من قبل . لا تكرروا

20:32الأمر كثيراً ، لقد

20:33أخبرتكم بالخطوات

20:35بالفعل ، هذا هو مفهوم

20:37النمطية ، ليس من

20:39المفترض أن تقوم كل

20:41حالة اختبار بشيء محدد

20:43. حسناً . آه ، نعم ، يجب

20:48أن أرى ماريو . سؤال يا

20:54أستاذ . آه ، حالات

20:56الاستخدام متشابهة

20:57جداً ، يعني ،

20:59>> دائماً ستكون هناك شرط

21:01مسبق والنتيجة .

21:02>> نعم ، حالات الاستخدام

21:04هي في الواقع حالات

21:05استخدام . حالات

21:07الاختبار هي للاختبار .

21:08حالة الاستخدام هي

21:10لفهم ما يريد العمل

21:11القيام به . هنا ، في

21:13حالة الاستخدام ، لن

21:15يكون لديك الخطوات ،

21:16والنتيجة المحققة ،

21:18وبيانات الاختبار .

21:20>> واضح ، واضح . لكن إذا

21:22اتبعوا بشكل أو بآخر 1.1

21:24، 1.2 ، مثل

21:25السيناريوهات البديلة

21:28، فهي متشابهة جداً

21:30ولهذا السبب ،

21:31>> أي أن النتائج تشبه

21:33إلى حد كبير الشرط

21:34اللاحق

21:35>> لما يجب أن يحدث . ولهذا

21:37السبب قلنا ذلك .

21:39>> حسناً ، ربما نعم . إذا

21:41كنت تراها هكذا ، فنعم ،

21:42لكن انتبه لأنها ليست

21:43هي نفسها ،

21:44>> أليس كذلك ؟ لا ،

21:46>> يعني ، هي أشياء مختلفة

21:47، أليس كذلك ؟ أي أن

21:49شيئاً هو حالة

21:49الاستخدام . حالة

21:51الاستخدام هنا ستكون

21:52قصة المستخدم . أنت

21:56تقوم هنا بسيناريوهات

21:57الاختبار لقصة

21:59المستخدم .

22:01>> حسناً ،

22:02>> ممتاز .

22:03>> تسميتها حالة استخدام .

22:05حسناً ، نعم ، كان ذلك

22:07في السابق ، لكن الآن

22:09يتم التركيز كثيراً ،

22:11ولهذا أقول لكم يا

22:13شباب ، على قصة

22:14المستخدم . حسناً ،

22:16>> شكراً . آه ، مثال حالة

22:21الاختبار هذا ، ما

22:23يقوله هو أن النظام

22:25يحظر المستخدم ، أليس

22:27كذلك ؟ لنرى ، هذا ليس

22:30شيئاً يستدعي القلق .

22:32حسناً ، كل شخص لديه

22:34طريقته . أرى أن هذا

22:36صحيح ، ولكن إذا فعلتم

22:38ذلك بطريقة أخرى ، فلن

22:40يكون ذلك خطأ . ماذا

22:41يحدث ؟ ما الذي يمكن أن

22:44يحدث أيضاً ؟ أن

22:46الكثيرين يضعون في كل

22:47خطوة النتيجة

22:48المتوقعة وفي النهاية

22:50النتيجة النهائية . هذا

22:53ليس سيئاً تماماً .

22:56حسناً ، إذا لم تكن

22:57هناك في الخطوات

22:59السابقة تحققات أخرى

23:01أقوم بها لحالة

23:02الاختبار نفسها . لماذا

23:05أقول هذا ؟ لأن هدف هذا

23:07الاختبار هو التحقق من

23:09الأشياء الوسيطة .

23:11حسناً ، أي أن الأشياء

23:13الوسيطة يجب أن يكون

23:15لها اختباراتها

23:16الخاصة لأن كل حالة

23:18اختبار يجب أن تكون

23:20مستقلة . حسناً ، بهذا

23:23المعنى لاختبار شيء

23:25معين ، إذا كانت كل

23:26حالات الاختبار تختبر

23:28شيئاً واحداً فقط .

23:30لاحظوا أنه يقول هنا

23:32إن النظام يجب أن يحظر

23:34المستخدم ويرسل

23:35تنبيهاً للمسؤول ،

23:36لأنه في هذه الخطوة

23:38الرابعة تحديداً تحدث

23:40أمور . إذن ، حسناً ،

23:44لنجرب هذين الأمرين ،

23:46لكنه ليس طلباً جديداً

23:48أقوم به في تطبيق

23:50للطلبات . سأتحقق من

23:52قبول البطاقة ، وأن

23:54العنوان قد حُفظ بشكل

23:56صحيح ، وأن بإمكاني

23:57اختيار عنوان مختلف عن

23:59ذلك الذي أدخلته عند

24:01تسجيل دخولي . لا أعرف

24:03لماذا . فقط لأقول لكم

24:05شيئاً ما . حسناً . أي أن

24:07كل اختبار يهدف إلى

24:09شيء محدد . حسناً ، قد

24:11تحتوي الخطوات

24:12السابقة على عمليات

24:14تحقق ونتائج متوقعة

24:16مسبقة ، نعم ، لكن ما

24:18يهم في هذا الاختبار

24:20هو ما سيحدث في الخطوة

24:22الرابعة . حسناً ، هذه

24:25الخطوة تحديداً لها

24:27حالة تكون عادةً "

24:29معلقة " ، حسناً ، عندما

24:31لا يتم تنفيذها بعد ،

24:33وعندما يتم تنفيذها ،

24:35حالة حالة الاختبار

24:37هذه ستكون ، سنرى ذلك

24:39لاحقاً عندما نطلع على

24:42دورة حياة الأخطاء ( Bugs )

24:46. حسناً ، وبعد ذلك

24:49عندما نرى حالة اختبار

24:51كاملة ، سأعطيكم في

24:53الفيديوهات ، في اليوم

24:55الذي أرسل لكم فيه

24:57جميع الفيديوهات ،

24:59ستتمكنون من رؤية

25:00كيفية القيام بذلك

25:02خطوة بخطوة . بالانتقال

25:07إلى التالي ، ما هي

25:09الحقول التي تتضمنها

25:10عادةً حالات الاختبار

25:12؟ حسناً ، هناك الكثير

25:14منها . حسناً ، كما قلت

25:17لكم ، هذا يعتمد أيضاً

25:19على الأداة التي

25:20ستستخدمونها . حسناً ،

25:23لكن على سبيل المثال ،

25:25المعرف ( ID ) ، العنوان ،

25:26الوصف ، نوع الاختبار ،

25:28حسناً ، ما نوع

25:29الاختبار الذي سنقوم

25:31به ؟ الشروط المسبقة

25:33التي كنت أتحدث عنها

25:35للتو ، بيانات الإدخال

25:37، ما هي البيانات التي

25:38ستحتاجونها ، الخطوات ،

25:40خطوة بخطوة ، كيف ستكون

25:42الخطوات بالكامل ،

25:44حسناً ، لتنفيذ كل واحد

25:46من هذه الاختبارات ، و

25:49الشروط اللاحقة ،

25:50والمرفقات . لماذا ؟

25:52لأنه سيكون لدينا

25:53أيضاً مرفقات ، وسيكون

25:55هناك مصمم للاختبار

25:56تلقائياً إذا كان

25:57لديكم برنامج خاص ، على

25:59سبيل المثال سيتم

26:00تصميمها بواسطة الشخص

26:02الموكل إليه " المُسند

26:03إليه " . ماذا يعني "

26:05المُسند إليه " ؟

26:06المُسند إليه ، على

26:08سبيل المثال ، قد يكون

26:09مطوراً ، يقوم المطور

26:11بتصحيحها ثم يعيدها

26:13إلينا . الأولوية التي

26:14سنمنحها ، النتيجة

26:16المتوقعة ، تاريخ

26:17الإنشاء ، هذا يتم

26:18تلقائياً ، التعليقات

26:20في الأسفل التي قد

26:21تحتوي على متطلبات

26:22مرتبطة ، خطة الاختبار

26:24المرتبطة ، والتي يتم

26:26ربطها أحياناً ، سنرى

26:27ذلك لاحقاً في

26:28الفيديوهات . مجموعة

26:30الاختبار ، ما هي

26:31الإصدارات ؟ ما هي

26:32الكلمات الخاصة وما هي

26:34التبعيات التي ستكون

26:36موجودة ؟ إذن ، كل هذا

26:39سيشكل جميع الحقول

26:41التي قد يحتوي عليها

26:43حالة الاختبار . حسناً ،

26:46إنها كثيرة ، ولكننا

26:48سنراها لاحقاً بشكل

26:50أكثر تفصيلاً . لذا ،

26:54تمرين جيد يمكنكم

26:56التفكير فيه خطوة

26:58بخطوة ، وهو أمر قد

26:59يكون صعباً لمن بدأوا

27:01للتو في عالم الاختبار

27:03، هو أخذ أشياء يومية

27:05كما أخبرتكم ، على سبيل

27:07المثال ، المهمة

27:09الأولى ، ماذا ستفعلون

27:11لتحضير كوب من الشاي ؟

27:13وانتبهوا ، لا توجد

27:14طريقة واحدة فقط

27:15لتحضير الشاي . لماذا ؟

27:17لأن كل شخص يمكنه

27:19اتباع خطواته الخاصة ،

27:21لا أدري ، تحضيره في

27:23غلاية كهربائية ، أو في

27:25إبريق ، أو ربما في

27:26الميكروويف ، لذا قد

27:28يختلف الأمر . حسناً ،

27:30كيف سنقوم بذلك ؟ حسناً

27:34، يبدأ المرء بطرح كل

27:36هذه الأسئلة التي يجب

27:38تحديدها مسبقاً ،

27:40وبمجرد تحديدها ، أي

27:42بعد أن تتوفر لدينا

27:44الإجابات ، يمكننا

27:45البدء في تلك الخطوات ؛

27:47وهنا أدعوكم للقيام

27:49بخطوات عملية للأشياء

27:51التي تكتشفونها أثناء

27:53المضي قدماً . لنقل ، ما

27:57هي الخطوات المتبعة

27:59لاستقلال الحافلة ؟ ما

28:00هي الخطوات المتبعة

28:02للاستحمام ؟ ما هي

28:03الخطوات المتبعة

28:04لتعبئة الوقود ؟ لذا ،

28:08بالتفكير قليلاً في

28:09خطوات تحضير الشاي ، ما

28:11هي تصميمات الاختبار

28:13التي تخطر ببالكم هنا ؟

28:18دعوني أسألكم ، ما هي

28:20تصميمات حالات

28:21الاختبار التي يمكنكم

28:23إعدادها ؟ أن يكون

28:28الماء ساخناً .

28:31>> ماذا أيضاً ؟

28:40>> آه ، وجود حد لتحديد ما

28:42إذا كان الكوب ممتلئاً

28:43أم فارغاً حتى لا نملأ

28:45كوباً ممتلئاً بالفعل .

28:49>> ماذا أيضاً ؟ أن يحتوي

28:56إبريق الشاي على الماء

28:58.

28:59>> حسناً ، إذن هناك

29:02الكثير . حسناً ، هذا ما

29:04يسمى بالتفكير

29:06التحليلي . يجب عليكم

29:07النزول للميدان بهذا

29:09التفكير ، إضافة السكر

29:11، إخراج كيس الشاي ،

29:12التقليب . قد تكون هذه

29:14إحدى الخيارات ، وقد

29:15تكون هناك خيارات

29:16متعددة . قد يكونون

29:17وضعوا السكر ، أو ربما

29:19وضعوا التحلية ، أو

29:20أشياء أخرى . إذن ، هناك

29:22الكثير من الأمور .

29:24حسناً ، مثال آخر .

29:27حسناً ، مثال الضوء .

29:29حسناً . أي ، ما الذي قد

29:31يخطر ببالكم ؟ على

29:33الرغم من أننا تحدثنا

29:34عن هذا من قبل ، لكن

29:35ماذا قد يخطر ببالكم

29:37أنتم ؟

29:38>> أولاً ، وجود الكهرباء .

29:40>> حسناً .

29:41>> أن يعمل مفتاح التشغيل

29:43.

29:43>> أن يعمل المفتاح .

29:45>> أن يكون هناك مصباح . أن

29:48يعمل المصباح .

29:50>> حسناً ، هذا ما أحتاج

29:52إلى تحقيقه منكم .

29:54حسناً ، أن تبدأوا في

29:56التفكير في ذلك . حسناً

29:58، أي أنه في اليوم الذي

30:00أعرض فيه عليكم قصة ،

30:02إذا كنتم تعملون في

30:03اختبار الجودة ،

30:04فلتذهبوا وتقولوا : "

30:06مهلاً ، هذا موجود ،

30:07يمكنني القيام به " .

30:09حسناً . إذن ، إليكم

30:13تمريناً آخر ، ذلك الذي

30:16رأيناه عن المثلثات ،

30:18حسناً ؟ حسناً ، لا أعرف

30:21، تخيلوا أن لديكم

30:23حالة اختبار ، حسناً ، X

30:26، لأن المعرف ( ID ) عادة

30:28ما يوضع تلقائياً كـ X

30:30كما أخبرتكم . حسناً ،

30:32لا أعرف ، العنوان ،

30:34سأعطيكم إياه أنا .

30:35التحقق من مثلث متساوي

30:37الأضلاع . حسناً ، ما هي

30:39الشرط المسبق ؟ الشرط

30:40المسبق لهذا ، لا يوجد .

30:42ليس لدي شرط مسبق لهذه

30:44الحالة يا شباب . ما هي

30:46بيانات الاختبار التي

30:47ستكون ؟ حسناً ، يمكنني

30:48الحصول على الضلع

30:50الأول ، لا أعرف ، الضلع

30:51الثاني يساوي الضلع

30:52الثالث . يمكنني جعل

30:54هذا مساوياً لثلاثة

30:56وجعل الضلع الأول

30:57مساوياً للضلع الثالث

30:59وببساطة أقول أن

31:00الثلاثة متساوية .

31:02حسناً . ما هي الخطوات

31:04التفصيلية ؟ حسناً ، لا

31:06أعرف ، الدخول إلى

31:07التطبيق ، إكمال الضلع

31:08الأول ، إكمال الضلع

31:10الثاني ، إكمال الضلع

31:11الثالث . إذا كانت

31:12القيم موجودة مسبقاً

31:14في حالة الاختبار ،

31:15فسيكفي النقر على زر

31:17التحقق ، حسناً ؟ وأن

31:18يخبرني ما هي النتيجة ،

31:20أي نوع من المثلثات هو .

31:22حسناً ، هذا سيكون بشكل

31:25عام . حسناً ، هذه ستكون

31:26حالة النجاح من

31:28البداية إلى النهاية .

31:30حسناً ، إذن يمكننا

31:32التحدث عما هي

31:33الممارسات الجيدة

31:35لتصميم حالات

31:36الاختبار . العديد من

31:38الشركات لديها بعض

31:39الاتفاقيات لإجراء

31:40حالات الاختبار . حسناً

31:42، ولكن كيف نضع لها

31:43عنواناً ؟ حسناً ، نضع

31:45رقم قصة المستخدم ،

31:46شرطة ، الوظيفة ، شرطة ،

31:48التحقق الذي يجب أن

31:49نقوم به . كل شركة لديها

31:51اتفاقياتها الخاصة .

31:53حسناً . إذن ، افترض أنك

31:56لست المتلقي ، وهذا ما

31:58كنت أقوله عندما كنت

32:00أخبركم للتو ، حسناً ،

32:02يجب أن نكون واضحين في

32:04الخطوات التي نضيفها

32:06لأنه ليس دائماً نحن

32:08من سيقوم بتنفيذها .

32:11أحياناً نعم ،

32:12وأحياناً لا . حسناً ،

32:16إذن النقطة الثالثة

32:17التي تقول توثيق ما تم

32:20اختباره ، ولكن ليس

32:21الموصوف . ما الذي يحدث

32:24عندما أكون مع

32:25المواصفات في قصة

32:26مستخدم ؟ أبدأ في

32:28التفكير في أفكار

32:29الاختبار التي عملنا

32:30عليها بالفعل . تخطر

32:32ببالي بعض الأفكار ،

32:33ولكن عندما تظهر في

32:35التطبيق تتغير الأمور

32:36، وحينها يجب أن نبدأ

32:38في إعادة الصياغة .

32:40حسناً ، ليس الأمر أننا

32:41مختبرو برمجيات سيئون .

32:43حسناً ، هذا ليس صحيحاً

32:45. حسناً ، من الطبيعي

32:47جداً أن يحدث ذلك يا

32:48شباب . حسناً ، ستدركون

32:50أن الأمر يعتمد قليلاً

32:52على خيال كل فرد ،

32:53وقدرته على التجريد ،

32:54ومدى تعقيد النظام ،

32:56فهناك الكثير من

32:57الأمور . حسناً ، إذاً

33:01وثقوا الحالات التي

33:02حدثت للاختبار خلال

33:04تلك المرحلة مع النظام

33:06. احتفظوا بأدلة حالات

33:10الاختبار ، تلك التي

33:12تكون شاملة من البداية

33:14إلى النهاية ، يجب حفظ

33:16الأدلة . النقطة

33:17الرابعة ، تحديث حالات

33:19الاختبار . تتغير

33:21المواصفات ، وتتغير

33:23المتطلبات . إذاً ، يجب

33:26تحديث حالة الاختبار ،

33:28لأنه عند إجراء اختبار

33:30تراجع لاحقاً ، إذا

33:32كانت الحالة قديمة ،

33:34فلن نعرف النتيجة

33:36المتوقعة الصحيحة أو

33:37الخطوات الصحيحة

33:39لأنها أصبحت غير محدثة

33:41. هذا له تأثير كبير

33:44جداً ، بل هائل ، عندما

33:46تكون حالة الاختبار

33:48مؤتمتة ، فقد تظهر

33:49نتائج ناجحة وهي في

33:51الواقع ليست كذلك .

33:53حسناً ، لذا يجب توخي

33:55الحذر الشديد . حسناً ،

34:00عندما تكون حالة

34:01الاختبار مؤتمتة

34:03وتتغير ، مثلاً تمت

34:05إضافة خطوة جديدة ، يجب

34:07تعديل الاختبار

34:08المؤتمت وإلا فسيكون

34:10خاطئاً . حسناً . إيه ،

34:17حسناً ، رأينا هذا في

34:19الدرس الماضي . حسناً ،

34:21إذاً هنا ستختبرون

34:22الكثير من الأشياء .

34:24حسناً ، في الدرس

34:26الماضي أخبرتموني ،

34:27حسناً ، اختبر هذا ،

34:29واختبر ذاك . سابقاً

34:31كان هناك عملي لهذا ،

34:33لكن لاحقاً توقفت عن

34:36استخدامه ، قمت

34:37بتحديثه في العملي ، في

34:39التمرين الثاني الذي

34:41سأعطيكم إياه الآن .

34:44إيه ، لكننا رأينا هذا

34:46بشكل أو بآخر . إذاً ،

34:49لإنهاء الحديث قليلاً

34:51عن بيانات الاختبار ،

34:53غالباً عند تنفيذ

34:55اختبار نحتاج إلى

34:56بيانات معينة لنتمكن

34:58من تنفيذه . حسناً ،

35:01افترضوا أنني يجب أن

35:02أسجل الدخول بملف

35:04تعريف مدير ؛ إذاً

35:06بياناتي ستكون

35:07المستخدم الذي لديه

35:09هذا الدور . وإذا كنت

35:11أختبر نظاماً لا يسمح

35:12لي بإدخال نفس

35:13المستخدم مرتين ، يجب

35:15أن أعرف المستخدمين

35:17الموجودين في قاعدة

35:19البيانات لأتمكن من

35:20إنشاء مستخدم جديد .

35:23إذاً ، في هذا السياق ،

35:24غالباً ما يجب تحديد

35:26بيانات الاختبار ، وفي

35:28أحيان أخرى يجب

35:30إنشاؤها . على سبيل

35:32المثال ، إذا كنا نختبر

35:34نظام تقارير ، فمن

35:35الضروري أن أكون على

35:37دراية جيدة بالبيانات

35:39، وإلا فسأكون في مأزق

35:41كبير . ولماذا من المهم

35:42الحديث عن بيانات

35:44الاختبار ؟ لأننا

35:45ركزنا حتى الآن على

35:47جودة البرمجيات ، لكن

35:48هذا البرنامج يعتمد

35:50على البيانات ، وإذا لم

35:51تكن تلك البيانات ذات

35:53جودة جيدة ، فمن

35:54المحتمل أن نرتكب

35:56أخطاء في الاختبارات

35:57ونعمل بشكل خاطئ . لذا ،

36:00مثلما من المهم الحصول

36:02على بيانات اختبار

36:03جيدة ، من المهم أيضاً

36:05التحكم في بيانات

36:07الاختبار تلك . حسناً ،

36:09هذا أمر في غاية

36:10الأهمية . حسناً ، لأنه

36:12بخلاف ذلك ستكون

36:13الاختبارات بلا أي

36:15فائدة . إذن ، لماذا من

36:17المهم وجود تحكم ؟

36:18حسناً ، لكي أعرف ما

36:20إذا كانت النتائج التي

36:22أحصل عليها صحيحة أم

36:23لا . إذن ، بيانات

36:24الاختبار مهمة للغاية

36:26، حتى لو لم نمنحها

36:28دائماً الأهمية التي

36:29تستحقها . حسناً ،

36:36لننتقل إلى مرحلة

36:37التنفيذ في

36:38الاختبارات ، وهذه

36:39المرحلة بشكل عام تبدو

36:41منطقية أكثر عند إجراء

36:42الاختبارات المؤتمتة .

36:44الحقيقة هي أنه عند

36:46إجراء اختبارات يدوية

36:47، لا تولي العديد من

36:49الجهات اهتماماً

36:50كافياً لهذه المرحلة .

36:51سنرى أنها تُنفذ أيضاً

36:53، لكن في الحقيقة لا

36:55تستحق هذه المرحلة

36:56تحديداً مخططاً

36:58بيانياً للحديث عن هذا

36:59النوع من الأنشطة

37:01اليدوية . حسناً ، ماذا

37:03يعني هذا ؟ يعني أنها

37:05تُنفذ . حسناً ، هذا

37:07يعني إنشاء نص برمجي

37:09خطوة بخطوة . هذه

37:10الاختبارات اليدوية

37:12نقوم بها خطوة بخطوة

37:13لكتابة حقول حالات

37:15الاختبار . بمعنى أنها

37:17ليست ذات أهمية كبيرة .

37:19حسناً ، لكن عندما يكون

37:20الاختبار مؤتمتاً ،

37:22فإنه يتطلب مجموعة

37:23أخرى من الاعتبارات .

37:25حسناً ، على سبيل

37:26المثال ، عند الأتمتة ،

37:28غالباً ما يكون من

37:30المفيد التفكير في

37:31تسلسل هرمي لمكونات

37:33النصوص البرمجية

37:34لمعرفة ما إذا كان

37:36بإمكاننا إعادة

37:37استخدام شيء ما ، وبناء

37:39إطار العمل الخاص بنا ،

37:41وأتمتة الاختبارات ،

37:42أي برمجتها لتوليد ذلك

37:44النص ، ذلك الكود . لذا ،

37:46في هذه المرحلة ، ما

37:47يجب القيام به أيضاً

37:49هو تحديد كيفية

37:50التقسيم إلى وحدات ،

37:51وكيفية ترتيب

37:52المكونات هرمياً ،

37:53والأنماط التي سيتم

37:55تطبيقها ، وما إلى ذلك .

37:56لذا ، بمجرد التفكير في

37:58كل هذا ، ما سأقوم به هو

38:00كتابة الكود أو ذلك

38:02النص البرمجي على

38:03الأقل ، لكي أتمكن من

38:05إنشائه . كيف يتم

38:07إنشاؤه ؟ حسناً ،

38:09اعتماداً على

38:10التقنيات المستخدمة

38:11والأدوات الموظفة ،

38:13هناك بشكل عام ثلاث

38:14طرق لإنشائه . إحداها

38:16هي البرمجة من الصفر .

38:18أستخدم إطار العمل

38:19الخاص بي ، وسنرى ذلك

38:20لاحقاً في الأتمتة ،

38:22وأبدأ في برمجة جميع

38:23اختباراتي . حسناً ،

38:25يمكنني القيام بذلك ،

38:26على سبيل المثال ،

38:27باستخدام Selenium Web Driver .

38:29حسناً ، هناك تطبيقات

38:30أخرى تعتمد على

38:32التسجيل والتشغيل ( Record

38:33and Play ) لا تعجبني

38:35شخصياً . حسناً ، أنا

38:36أقوم بالتسجيل وهي

38:38تقوم بما تفعل . حسناً ،

38:41لذا أنا لست من محبي

38:43ذلك يا رفاق . أنا

38:46شخصياً لا تعجبني

38:47تطبيقات التسجيل

38:48والتشغيل . لماذا

38:49التسجيل والتشغيل ؟

38:51سنرى ذلك لاحقاً في

38:52الأتمتة . أقوم بالنقر

38:54هنا وهناك وهي تسجل لي

38:55كل الخطوات . أضغط على "

38:57تشغيل " فتقوم بإعادة

38:58تنفيذها . المشكلة هي

39:00أنه إذا تمت إضافة حقل

39:01جديد يجب النقر عليه ،

39:03فلن يعود التسجيل

39:04مفيداً وعلينا إعادته

39:05بالكامل . إذاً ، هي لا

39:07تنفع . حسناً ، سنرى ذلك

39:11لاحقاً في جزء الأتمتة

39:13. حسناً . إمم ، هناك

39:18أدوات أيضاً مثل

39:20كاتالون ( Catalon ) ، حسناً ،

39:22كاتالون ستوديو ( Catalon

39:24Studio ) ، وهي أداة تسمح

39:25لنا بالتسجيل

39:27والتشغيل كما أخبرتكم .

39:29إذاً ، دعونا ننتقل

39:30للحديث عن المرحلة

39:31الأخيرة من تنفيذ

39:33الاختبارات حيث يتدخل

39:34موظف ضمان الجودة ( QA ) .

39:36حسناً . وإذا كانت

39:38الاختبارات مؤتمتة ،

39:40فمن الواضح أنها تُنفذ

39:42تلقائياً . حسناً ، قبل

39:44الحديث عن مرحلة تنفيذ

39:46الاختبارات بحد ذاتها

39:47، أول شيء يجب علينا

39:49فعله هو التحقق من

39:50استقرار الإصدار ( Build ) ،

39:52حسناً ؟ أي التحقق مما

39:54سنختبره عندما نشير

39:56إلى الإصدار ( Build ) . لنقل

39:58إنه نسخة البرنامج

40:00التي سنقوم باختبارها .

40:02لذا ، قبل البدء في

40:03إجراء الاختبارات على

40:05هذا البرنامج ، يجب

40:07علينا التحقق من

40:08استقراره . هذا لا يعني

40:10إجراء اختبار سطحي ، بل

40:12التأكد من أن كل شيء

40:13يعمل بشكل مقبول نوعاً

40:15ما ، وأنه عند الضغط

40:17على زر لا ينهار كل شيء

40:19، أي ألا توجد أخطاء

40:20فادحة . حسناً . لماذا ؟

40:23لأنه إذا لم نفعل ذلك ،

40:25فإن أي اختبار نجريه

40:27لاحقاً لن يكون

40:29موثوقاً ؛ لأننا لن

40:30نعرف ما إذا كان يفشل

40:32بسبب خلل فعلي ، أي

40:34لأننا وجدنا عيباً ،

40:36أليس كذلك ؟ لذا ، يجب

40:38التحقق . إذا نجحت هذه

40:40الاختبارات الأساسية ،

40:41فماذا سنفعل بعد ذلك ؟

40:43حسناً ، هو تنفيذ

40:45الاختبارات الفعلية .

40:47حسناً . وهنا الدور

40:49المسؤول عن هذا هو

40:51موظف ضمان الجودة ( QA ) .

40:54حسناً ، هو من يتولى

40:55هذا الدور وهو دور

40:57تنفيذ الاختبارات .

41:00إذاً ، هذه ستكون

41:02مسؤوليته ، والحقيقة

41:04أنه في هذا الصدد يجب

41:05أن يتمتع موظف ضمان

41:07الجودة ببعض الاهتمام

41:09بالتفاصيل ، وقدرة

41:11معينة على متابعة تلك

41:13الخطوات ، وذلك الفهم

41:15والتحليل وما إلى ذلك .

41:17لكن الأمر ليس مبهراً

41:18لدرجة التساؤل : كم من

41:20المهارات يحتاجها

41:21موظف ضمان الجودة ؟

41:22حسناً ، في هذا

41:23السيناريو ، سنتحدث

41:25لاحقاً قليلاً عن

41:26الأدوار في هذا الأمر .

41:29إذن ، بالعودة قليلاً

41:35إلى حالات الاختبار

41:37التي رأيناها خلال

41:38مرحلة التصميم ، حسناً

41:40، هل سنتبع هذه

41:43الخطوات ؟ سنضع شرطاً

41:46مسبقاً أو نتأكد من

41:47استيفاء الشروط

41:49المسبقة لمتابعة هذه

41:50الخطوات . ويخبرنا

41:53النظام ، حالة

41:54الاختبار ، يخبرنا أن

41:56هذه هي النتيجة

41:57المتوقعة . حسناً ، لنرَ

41:59ما هي النتائج التي تم

42:01الحصول عليها ، وفي تلك

42:03اللحظة نقوم بتحديث

42:04حالة حالة الاختبار

42:06تلك . حسناً . إيه ، إذن

42:11النتيجة تطابق

42:12النتيجة التي تم

42:13الحصول عليها . نعم .

42:15حسناً ، إذن لنضع ما

42:17حدث . النتيجة المتوقعة

42:18، إيه ، تطابق النتيجة ،

42:20عفواً ، النتيجة

42:21المتوقعة تطابق

42:22النتيجة التي تم

42:23الحصول عليها . لا ، لقد

42:24أعطتني شيئاً مختلفاً .

42:26حسناً ، إذن لنضع أنها

42:28فشلت . حسناً ، لنفترض

42:30أنها فشلت . إذن ،

42:31بالإضافة إلى وضع أنها

42:33فشلت ، يجب علينا فتح

42:35تذكرة . حسناً ، تلك

42:37التذكرة ستكون الخلل

42:38أو الخطأ . حسناً ،

42:40سنتحدث عن هذا لاحقاً .

42:42كنت أخبركم ما هي

42:43الحقول التي كانت

42:44تحتوي عليها حالة

42:45الاختبار . الآن ، ماذا

42:47يحدث عند تنفيذ حالة

42:49الاختبار ؟ حسناً ،

42:50بشكل عام نقوم بملء

42:52حقول إضافية ، على سبيل

42:53المثال ، البيانات

42:55التي نفذناها بها ،

42:56والتي ربما تختلف عما

42:58كانت تقوله حالة

42:59الاختبار ، اضطررنا

43:01لتغييرها ، لأنها ليست

43:02هي نفسها . حدث شيء ما .

43:05تظهر الخطوات هناك لأن

43:07بعض الأنظمة أكثر

43:09تطوراً . يمكن للمرء أن

43:11يحدد ما حدث ، إذا لم

43:13ينجح ، أو إذا فشل . لذا ،

43:15يجب علينا تحديث ذلك

43:16الجزء . تسمح لنا

43:18النتائج التي تم

43:19الحصول عليها بكتابة

43:20تعليق حول النتائج

43:22التي توصلنا إليها .

43:23يمكننا إرفاق أدلة ،

43:25سواء نجحت أو فشلت ،

43:26ويتم تسجيل من قام

43:28بتنفيذها ومتى قام

43:30بتنفيذها تلقائياً .

43:31حسناً ، إذا فشلت هذه ،

43:33متى فشلت ، لهذا السبب

43:35لدينا ما يسمى بمتعقب

43:36المشكلات ( issue tracker ) .

43:38يمكن ربط متعقب

43:39المشكلات ذلك بما يسمى

43:41" جيرا " ( Jira ) . حسناً ، إذن

43:44إيه حسناً ، إذن ، فهو

43:54يسمح لنا أيضاً بربط

43:56رمز الخلل . حسناً ، من

43:58الجيد أن يكون هناك

44:00تتبع في حالة الاختبار

44:02هذه والخلل لكي يبقيا

44:03مرتبطين . حسناً ، حالة

44:05حالة الاختبار تلك ،

44:07والخطوات ، وحالات

44:09الفشل تظل معطلة وتظل

44:11معلقة التنفيذ . حسناً ،

44:13يجب كتابة تعليق هناك

44:15حول سبب فشلها . حسناً ،

44:17لكننا سنرى هذا بشكل

44:19أكثر تفصيلاً عندما

44:20نقوم برفع خطأ . وبهذا

44:22يظل السجل بالكامل

44:24مسجلاً . حسناً ، حسناً .

44:28هل لديكم أي أسئلة حتى

44:29الآن يا شباب ؟ لدينا

44:43إذًا نوعان من الجداول

44:44، لنقل جدول الإدخال

44:46الذي يخبرنا بالمعرّف

44:48وكل ما يخص حالة

44:51الاختبار ، وتذكرة

44:52مخرجات لمعرفة ما إذا

44:54كانت ناجحة أم فشلت ،

44:56أليس كذلك ؟ إنهما

45:00شيئان مختلفان . لاحقًا

45:02سنرى مسألة الخطأ .

45:05حسنًا .

45:06>> آه ، لكن إذا نجح الأمر

45:07، هل يجب أيضًا إصدار

45:09تذكرة ؟

45:10>> إذا نجح الأمر فلا

45:11داعي لإصدار تذكرة .

45:12إذا نجح الأمر ، نضع

45:14علامة " موافق " وينتهي

45:15الأمر .

45:16>> حسنًا . لاحقًا ، ولهذا

45:21السبب في الفيديوهات ،

45:23عندما ننتهي ، سأريكم

45:25كيف يتم ذلك . حسنًا .

45:29هناك ستتعلمون كل

45:30النظرية التي أخبركم

45:32بها . للأسبوع المقبل ،

45:35يمكنني أن أريكم حالة

45:37اختبار وخطأ عام نوعًا

45:39ما حتى تأخذوا فكرة عن

45:41كيف يبدو الأمر . حسنًا

45:44، هما شيئان : الأول هو

45:46حالة الاختبار ،

45:47والثاني يتم كإصدار

45:49تذكرة . حسنًا ،

45:56>> جيد ، إليونورا .

46:00>> نعم . بالعودة قليلًا

46:02إلى الوراء ، بخصوص

46:04حالات الاختبار ، لدي

46:06شك مثلًا بشأن مسألة

46:07المثلث متساوي

46:09الأضلاع أو تقديم

46:10الشاي . على سبيل

46:12المثال ، بالنسبة

46:14للمثلث متساوي

46:15الأضلاع ، هل نفترض

46:16مسبقًا أنه مثلث أم

46:17يمكننا السؤال عما إذا

46:19كان مثلثًا أو شكلًا

46:21آخر ؟ كسؤال أول ،

46:24>> انظري ، السيناريو

46:26تضعينه أنتِ . على سبيل

46:28المثال ، ما هي

46:30السيناريوهات

46:31المثالية ؟ مثلًا ، قد

46:33يكون مثلثًا متساوي

46:34الأضلاع ، أو مختلف

46:36الأضلاع ، أو متساوي

46:38الساقين . تلك ستكون

46:40حالات الاختبار

46:41الثلاث الأساسية التي

46:42يجب القيام بها . لماذا

46:44؟ من أجل اختبار

46:45التطبيق .

46:46>> نعم . بعد ذلك ، إذا

46:47انتقلتِ إلى ذلك ،

46:49ستكون تلك هي الحالات

46:50الإيجابية .

46:51>> بالطبع ، الحالات

46:53المثالية ، لنقل .

46:54>> بالضبط ، تسمى حالات

46:55إيجابية وتسمى أيضًا

46:57الحالات السعيدة .

46:58>> هذا صحيح ،

47:00>> لكن هل يمكنني أيضًا

47:01وضع حالات أخرى لا

47:02تكون مثلثًا ؟

47:04>> يجب عليكِ القيام

47:05بحالات أخرى . هل

47:08يمكنني وضع ... لا ، أنتِ

47:10المسؤولة عن جودة

47:12تطبيق المثلث هذا .

47:15>> كل الاحتمالات التي

47:17تخطر ببالي ، حتى لو

47:19كانت غير منطقية ، يجب

47:21أن أدونها .

47:22>> نعم . نعم ، لأنكِ

47:24تتحملين مسؤولية هذا

47:26النظام ، هل تفهمين ؟

47:30حسنًا .

47:30>> يعني أنتِ المسؤولة

47:32التي ستقولين : " انظر ،

47:34هذا يظهر هكذا ، يظهر

47:36بشكل خاطئ ، يظهر بشكل

47:38صحيح " .

47:40>> حسنًا ، حسنًا ، شكرًا

47:43لك .

47:44>> لكن نعم ، أنتم

47:45المسؤولون وعليكم

47:47القيام بذلك . حسنًا ،

47:49يعني ، إذا سألتني يا

47:51ليونورا ، نعم ، عليكِ

47:53القيام بذلك ، إنه

47:54إلزامي لأنه ، على سبيل

47:56المثال ، يمكنني إدخال

47:58ناقص واحد وقد يظهر

48:00خطأ . حسنًا .

48:01>> نعم ، شكرًا .

48:03>> حسنًا ، جيد . حسنًا يا

48:05رفاق ، لننتقل إلى

48:07العملي رقم اثنين ، لأن

48:09الأمور بدأت تصبح

48:10مثيرة للاهتمام . هل

48:12ترونه هناك أم أضعه في

48:14ورقة صغيرة ؟ في ورقة

48:17صغيرة . حسنًا . إذًا ،

48:21ماذا يعني العمل رقم

48:22اثنين ؟ العمل رقم

48:25اثنين لديهم هنا قصة

48:27مستخدم . حسنًا ، تخيلوا

48:30أن لديكم قصة المستخدم

48:32هذه . دفع الفواتير ،

48:34يجب القيام بدفع

48:35الفاتورة يدويًا وأن

48:37نحصل على علامة

48:38التأكيد في النهاية .

48:40وأنا أقول لكم ، "

48:42انظروا ، تظاهروا

48:43بأنني مالك المنتج " .

48:47يجب أن يكون يدويًا .

48:49يجب البحث عن الشركة

48:50باستخدام لوحة مفاتيح

48:52الهاتف . الخدمة هي

48:53التحصيل بدون فاتورة .

48:55إدخال رقم العميل .

48:57أقول لكم هذا حتى أقول

48:59، " حسنًا ، يجب أن يعطي

49:01إيصال الدفع " . " وهنا

49:04أضع لكم الصور " . حسنًا .

49:07أقول لكم ، " انظروا ،

49:08عليكم المجيء إلى هنا " .

49:10" أقول لكم دفع

49:11الفاتورة " . عليكم وضع

49:12الاسم ، وعليكم المجيء

49:14إلى هنا . وعليكم

49:17الإكمال . هنا أعطيكم

49:20بعض الصور وهنا يعطيكم

49:22هذا . حسنًا ؟ بهذه

49:25البساطة . إذًا ، هل

49:28لديكم أي شكوك حول هذا

49:30؟

49:33>> هل لديكم أسئلة لمالك

49:35المنتج ؟

49:39>> وماذا عن المسار

49:40السعيد وماذا يحدث إذا

49:42لم تعمل إحدى الشاشات ؟

49:46بالضبط . حسنًا ، إذًا

49:52هنا ، يعني ، من الأسئلة

49:54كما أرى ، هناك اجتماع

49:56يتم فيه العرض وعليكم

49:58تخيل سيناريوهات

49:59الاختبار . لكن يا رفاق

50:05، كونوا صادقين ، إذا

50:07كنت أسألكم ، هل لديكم

50:09شكوك هنا حول شاشة

50:11الدفع ؟ هل تعرفون

50:13كيفية اختبار هذا ؟

50:16علينا التحقق مما إذا

50:18كان بإمكاننا إدخال

50:19أرقام أو أشياء مختلفة

50:21.

50:22>> حسنًا ، هذا ما أحتاجه

50:24منكم . لأنكم إذا قلتم

50:26لي هنا " كل شيء على ما

50:28يرام " ثم اضطررتم لعمل

50:29السيناريوهات وكانت

50:31لديكم أسئلة . لا يوجد

50:33وقت يا رفاق لإعادة

50:34الاجتماع ، هل تفهمون ؟

50:35يعني ، الوقت قد فات .

50:37مالك المنتج رحل ولديه

50:39أشياء أخرى ليقوم بها .

50:41إذًا ، ماذا أحتاج ؟ هنا

50:43لديكم هذه القصة . الذي

50:45يخص دفع الفاتورة ،

50:46وهنا واحدة لإعادة شحن

50:48رصيد " في " . وبنفس

50:49الطريقة ، يجب أن يكون

50:51الدفع لإعادة الشحن ،

50:52ويجب أن يحتوي على

50:53الزر . حسناً ، سأشرح

50:55لكم هذا وأقول : " يا

50:57شباب ، انظروا ، يجب

50:59عليكم المجيء إلى هنا ،

51:01إدخال رقم العميل ،

51:02والمبلغ ، وأنتم

51:04تتساءلون : حسناً ، ماذا

51:06يحدث هنا ؟ " يعني ، هل

51:08يمكنني إدخال أي أرقام

51:10؟ هذه أزرار . إيه ، ما

51:14الأمر ؟ هل سأتحقق من

51:16صلاحية بطاقة " سوبي " ؟

51:18هل هي غير صالحة ؟

51:20حسناً ، ما الذي أحتاجه

51:22؟ سأرسل لكم الآن عبر

51:24البريد الإلكتروني

51:26هذا الذي أعرضه عليكم .

51:28إذاً ، لدي قصتان .

51:31حسناً ، من هاتين

51:33القصتين أحتاج منكم 10

51:35أسئلة تطرحونها على

51:37مالك المنتج ( PO ) حول

51:39هذا . حسناً . و 10 أسئلة

51:44لما يخص دفع الفاتورة

51:46و 10 أسئلة لإعادة شحن "

51:48في " . هل هذا مفهوم حتى

51:51الآن ؟

51:52>> نعم ، مفهوم .

51:54>> حسناً . وبالإضافة لذلك

51:58، أحتاج منكم صياغة 10

52:00سيناريوهات اختبار

52:01لدفع الفاتورة وإعادة

52:06شحن " سوبي " . حسناً .

52:10سيناريوهات اختبار ،

52:11ما الذي ستختبرونه

52:13بناءً على هذا ؟ حسناً ،

52:1610 سيناريوهات اختبار .

52:19حسناً . يعني ، ماذا

52:20سيكون لديكم ؟ لقد قلت

52:22لكم للتو ، على سبيل

52:24المثال هنا ، يا شباب ،

52:25أمامكم عالم كامل

52:27لتسألوا عنه . رقم

52:28البطاقة ، كيف أتحقق

52:30منه ؟ رمز الأمان ، ما

52:32الذي ... يعني ، عليكم

52:34القيام بـ 10

52:35سيناريوهات اختبار .

52:37حسناً . هل فُهم ما هي ؟

52:42إنها 20 ، لنسمّها 10 و 10 .

52:46في الواقع هي 10 أسئلة

52:48لمالك المنتج عن دفع

52:50الفاتورة و 10 أسئلة

52:52لمالك المنتج عن إعادة

52:54شحن " سوبي " . وبالإضافة

52:58لذلك أحتاج منكم

52:59القيام بـ 10

53:00سيناريوهات أو أفكار

53:02اختبار لهذه القصة .

53:05حسناً ، ما يعادل

53:07إجمالي 20 . هل فُهم ذلك ؟

53:11>> نعم . نعم .

53:12>> 40 تمريناً ، لنقل .

53:15بالضبط ، تماما . حسناً ،

53:21>> حسناً يا أستاذ . عذراً

53:25، لدي سؤال . ربما قلته

53:31من قبل وفاتني ، لكن هل

53:33هناك قالب أو عرض

53:35تقديمي أو تنسيق معين

53:37لتسليم هذه

53:38السيناريوهات ، أم

53:39يمكننا إعدادها

53:41كقائمة في ملف وورد

53:43وترسلوها لي ؟ حسناً ،

53:51>> حسناً .

53:52>> حسناً ، سأرسل البريد

53:54الإلكتروني الآن . يا

53:55شباب ،

53:57>> ابدأوا بالعمل على هذا

53:59وأرسلوه لي . حسناً . يوم

54:03الأربعاء لا توجد

54:05لدينا حصة . حسب ما فهمت

54:08، لديكم

54:09>> اختبار جزئي في

54:10الاتصالات .

54:11>> حسناً ، جاهز . لقد

54:13أرسلتها لكم للتو .

54:15أستاذ ، لدي استفسار .

54:17لعمل حالات الاختبار ،

54:19يحتوي القفل على عدة

54:21سمات وحقول ، سنأخذ

54:23الأكثر أهمية منها ،

54:25أليس كذلك ؟ لنقل

54:30السيناريوهات

54:31الأساسية . جيد ، أي

54:33قوموا بعمل

54:34سيناريوهات نموذجية .

54:37حسناً ،

54:39>> لهذا ، ابدأوا في إعمال

54:41عقولكم يا شباب . الأمر

54:45هكذا . حسناً ، عليكم أن

54:47تبدأوا بالتفكير

54:49جيداً في كل هذا .

54:51>> لا أريد أن أقول لكم

54:52المزيد ، لكن عليكم أن

54:54تبدأوا بالتفكير .

54:55حسناً .

54:56>> ممتاز . أستاذ ، لدي

54:58استفسار . لدينا امتحان

55:00الأسبوع القادم .

55:02>> نعم .

55:02>> سيكون يوم الأربعاء ،

55:04أليس كذلك ؟

55:05>> نعم .

55:06>> هل تذكرنا بكل ما

55:07درسناه وسيدخل في

55:09الامتحان ؟ نعم ،

55:10سنتحدث عن ذلك يوم

55:12الاثنين .

55:13>> آه ، فهمت .

55:14>> أي أن الامتحان يشمل

55:16ما أخذناه حتى اليوم .

55:17اليوم سيكون آخر ما

55:19يدخل في الامتحان ، حتى

55:21ما شرحناه للتو .

55:23>> الأسبوع السابع .

55:25>> بالضبط .

55:26>> علينا تطويره .

55:28>> كيف

55:29>> علينا تطويره ؟ حسناً ،

55:31بالتأكيد علينا

55:32القيام بما نحن على

55:33وشك فعله الآن . سنتحدث

55:35في

55:37>> جيد .

55:38>> حسناً .

55:39>> هذا العمل يمكننا

55:40تسليمه حتى

55:41>> أرسلوه عبر البريد

55:42الإلكتروني . إذا

55:43أنجزتموه ، أرسلوه عبر

55:44البريد . لماذا ؟ لأن

55:45هذا سيساعدكم في

55:46الجانب العملي

55:47للاختبار الجزئي .

55:49>> لدينا وقت حتى يوم

55:50الاثنين .

55:51>> وأنا أنصحكم بإرساله

55:53هذا الأسبوع إن أمكن .

55:56>> حسناً .

55:56>> هذا العمل يستغرق

55:58وقتاً أطول من الأول .

55:59جيد . وإذا كان علي

56:01إخباركم بشيء ، سأرد

56:03عليكم عبر البريد .

56:06>> حسناً .

56:06>> حسناً يا شباب ،

56:08سأترككم الآن . أتمنى

56:10لكم بقية يوم سعيدة .

56:12يوم سعيد . أي شيء ،

56:15أرسلوه لي وسأقوم

56:17بمراجعته . الاثنين

56:20القادم سنتابع موضوع

56:22سنقوم بمراجعة ليوم

56:23الأربعاء ونتحدث عن

56:25الاختبار الجزئي .

56:26>> ممتاز يا أستاذ . شكراً .

56:28>> شكراً جزيلاً . شكراً .

56:30>> حسناً ، شكراً .

More from MecaHormiga

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.