Full transcript
1:52أهلاً ، كيف حالكم ؟ كيف
1:54الأمور ؟ مساء الخير .
1:58>> كيف الحال ؟ كل شيء
2:00بخير ؟
2:00>> مرحباً ، مساء الخير .
2:02>> أهلاً يا أستاذ .
2:03>> أهلاً .
2:06>> حسناً ، بينما يصل
2:08البقية ، أخبركم أنني
2:10حتى اللحظة ، إن لم يكن
2:12هناك المزيد ، كنت
2:13أراجع الأعمال
2:15العملية . حسناً ،
2:17بالنسبة لمن أرسلوها
2:19لي ، في الحقيقة لم يكن
2:25لدي أي ملاحظات
2:26لأقدمها لكم . حسناً .
2:30إيه ، أعتقد أنه كان
2:33هناك واحد فقط قمت
2:35بالرد عليه لا أتذكر ،
2:39لكن أعتقد أنه كان
2:41هناك واحد ، ولكن حتى
2:43اللحظة ، تلك التي
2:45تلقيتها ، كنت أراجعها
2:47للتو ، لذا لم يكن هناك
2:49شيء لأقوله . وإن أردتم
2:53لاحقاً ، إذا لم تكونوا
2:55قد قمتم بها وتريدون
2:57القيام بها للتدريب
2:58للاختبار الجزئي ،
3:00فسيكون ذلك مفيداً لكم
3:02. حسناً . حسناً ، بينما
3:09يصل البعض الآخر ، في
3:11حصة اليوم ، سنقوم
3:12بمراجعة و لذا يوم
3:20الأربعاء لدينا
3:22الاختبار الجزئي
3:23الأول . هل هناك أسئلة ؟
3:26حتى الآن لا شيء .
3:28سنتحدث قليلاً عن
3:29مراجعة النظرية ،
3:31حسناً ، لأن هذا
3:32الاختبار الأول ربما
3:34يكون نظرياً أكثر من
3:36أي شيء آخر . إذا أردتم ،
3:39سأبدأ أنا بالحديث
3:41قليلاً عما ناقشناه ،
3:43وعن جميع المفاهيم ،
3:45وسأقوم بمسح عام ، وبعد
3:47ذلك إذا كان لديكم أي
3:49سؤال ، اسألوني . حسناً ،
3:55>> ممتاز . حسناً ، جيد . لا
4:00يوجد شيء لأعرضه ، هو
4:02مجرد تعليق ، وإذا كان
4:04لديكم أي سؤال حول ما
4:06رأيناه ؟ سأتحدث
4:09قليلاً من البداية حتى
4:13حتى الأسبوع الماضي ،
4:15وهو كل ما هو مشمول .
4:18لقد رأينا ، وأول شيء
4:20رأيناه كان موضوع
4:22التحقق والتحقق من
4:24الصحة ، وأن كلاً منهما
4:26يشير إلى عمليتي تحكم .
4:31إنهما مفهومان مهمان
4:33للغاية في هندسة
4:35البرمجيات . لذا يتم
4:40دراستهما ومعرفتهما
4:42معاً كـ ( V & V ) . ما هو
4:46الفرق بين كل منهما ؟
4:50حسناً ، من ناحية لدينا
4:52التحقق من الصحة ، الذي
4:54يراقب ما إذا كان
4:56المنتج يلبي قصص
4:57المستخدم . من المهم
5:04إجراء عمليات التحقق
5:06في أقرب وقت ممكن
5:08للبدء في بناء نظام
5:09يلبي التوقعات ، لأنه
5:11إذا لم يتم التحقق من
5:13تلك التوقعات منذ
5:15البداية ، فإن كل ما
5:16سنبنيه لاحقاً سيكون
5:18على شيء لا يريده
5:20العميل أو العمل
5:21التجاري . لذا ، من
5:30المهم جدًا دائمًا
5:31التحقق من النموذج مع
5:33المستخدم الرئيسي أو
5:35العميل المتاح لدينا
5:37ليكون لكلامه وزن
5:38وقيمة . ولدينا أيضًا
5:46ما يسمى بالتحقق ، الذي
5:48يراقب أن المنتج الذي
5:50يتم بناؤه يحترم قصة
5:52المستخدم تلك . أي أن
5:59البرنامج الذي نبنيه
6:01يقوم بما يجب عليه
6:03القيام به ، ويفعل ما
6:05تنص عليه القصة التي
6:06يجب تطويرها . إذن ، فهو
6:09يجيب على سؤال ما إذا
6:11كنا نبني النظام بشكل
6:13صحيح . نحن نفعل ما قلنا
6:16إننا سنفعله . لذا ،
6:21الآن بدلاً من مقارنة
6:22النموذج مع المستخدم ،
6:24ما نقوم به هو مقارنة
6:26ما لدينا من النظام مع
6:28النموذج . لماذا ؟ لأن
6:33النموذج قد تم التحقق
6:35منه بالفعل . حسناً . إذن
6:41، باختصار شديد ،
6:42يمكننا القول إن
6:44التحقق يجيب على سؤال :
6:46هل نبني النظام بشكل
6:48صحيح ؟ ويقارن
6:52المستخدم بما لدينا من
6:53النظام . أما التوثق
6:58فيجيب على السؤال : هل
7:00نجعل البرنامج يعمل
7:01بشكل صحيح ؟ وهو يقارن
7:06النظام ... مع النماذج .
7:09من ناحية أخرى ، رأينا
7:11ما هو الاختبار . حسناً .
7:15وهذا التعريف يقول إن
7:17الاختبار هو التحقق
7:19الديناميكي من ملاءمة
7:20الأنظمة لقصص
7:22المستخدم . إيه ، قصص
7:27المستخدم ، المتطلبات .
7:29حسناً ، لقد تحدثت
7:30إليكم أولاً عن كلمة
7:32متطلبات ، ثم غيرت
7:33وبدأت أتحدث قليلاً عن
7:35قصص المستخدم ، لأنكم
7:37تعرفون بالفعل ماهية
7:38قصص المستخدم . لماذا
7:41التحقق وديناميكي ؟
7:44بالضبط لأنه يتكون من
7:46مقارنة النظام
7:47بالمتطلبات . ولماذا
7:50ديناميكي ؟ لأنه يتضمن
7:53تشغيل النظام على عكس
7:56شيء ثابت ، أي شيء لا
7:58يتحرك ، شيء لا يتم
8:00تنفيذه . يتضمن
8:03الاختبار تنفيذ
8:05النظام في الواقع
8:06العملي . لذا ، سترون أن
8:08أشياء ليست اختباراً
8:10تُسمى اختباراً ، كما
8:12أخبرتكم . ولكن حسناً ،
8:15في نهاية المطاف ، هذه
8:17التعريفات هي عبارة عن
8:19عملية تحقق . وما الذي
8:23يتحقق منه ؟ حسناً ،
8:25ملاءمة الأنظمة
8:27للمتطلبات أو قصص
8:28المستخدم . من ناحية
8:34أخرى ، رأينا أيضاً
8:35تعريف " باتش " ، نعم ، شين
8:37باتش ، الذي هو خبير في
8:39الاختبار ، كما
8:41أخبرتكم ، والذي أنشأ
8:43منهجية الاختبار
8:44المسماة " الاختبار
8:46السريع للبرمجيات " .
8:50إذن ، ما يقوله هو أن
8:52الاختبار هو العملية
8:53اللانهائية لمقارنة
8:55ما هو غير مرئي بما هو
8:57غامض . ولماذا عملية ؟
8:59أي أن هناك عملية
9:00للقيام بالاختبار .
9:02حسناً ، ليس الأمر
9:04عشوائياً ، ولا يعني
9:05أنني أستكشف الأمور
9:07كيفما اتفق ، لا . هناك
9:09عملية . لقد رأينا
9:13أيضاً تعريفاً آخر
9:14للاختبار من قبل السيد
9:16دايسترا . حسناً ،
9:22الاختبار هو الطريقة
9:24الفعالة لإظهار وجود
9:26العيوب ، لكنه وسيلة
9:28غير كافية لإثبات
9:29غيابها . بمعنى أنه عند
9:35إجراء الاختبار ،
9:36يمكننا القول بوجود
9:38عيوب ، لكن لا يمكننا
9:39الجزم بأن النظام خالٍ
9:41من العيوب أو أنه لا
9:43يحتوي على مزيد منها .
9:46ببساطة ، نحن كـ QA لا
9:48نعثر عليها . وقد تحدثت
9:51معكم عن هذا الأمر من
9:52قبل . انتبهوا لهذا
9:53الموضوع . حسناً ، إذن ،
9:57لماذا نقوم بالاختبار
9:59؟ والإجابة تتعلق
10:01بأنني أقوم بالاختبار
10:03لتقليل مخاطر حدوث
10:05العيوب . عدم إجراء
10:08الاختبار أثناء تطوير
10:10البرمجيات يشكل بلا شك
10:12مخاطرة كبيرة . يساعد
10:15إجراء الاختبار في
10:17تقليل احتمالية
10:18العثور على عيوب في
10:20النظام . من ناحية أخرى
10:24، رأينا العلاقة بين
10:26المخاطر والاختبار .
10:30المخاطرة هي بطبيعة
10:32الحال حدث ، مستقبل غير
10:35مؤكد يقع ويكون له
10:36تأثير ، قد يكون كما
10:38قلت لكم إيجابياً أو
10:40سلبياً على هدف
10:42المشروع . مستقبل غير
10:45مؤكد لأننا لا نعرف ما
10:47سيحدث أو لا . إذا لم
10:53تكن هناك يقينيات ،
10:55وإذا أمكن أن يكون له
10:57تأثير إيجابي ، فقد
10:58يكون أيضاً فرصة .
11:03حسناً ، وفيما يتعلق
11:05بالمخاطر ، هناك أنواع
11:07مختلفة منها . توجد
11:09مخاطر الأعمال التي
11:11تؤثر على المنظمات ،
11:13ومخاطر المشروع التي
11:15تؤثر على أحد أهداف
11:16المشروع مثل المواعيد
11:18النهائية ، التكلفة ،
11:20أو النطاق ، على سبيل
11:22المثال . ويمكن أن تكون
11:25مخاطرة تتعلق
11:27بالمشروع هي دوران
11:28الموظفين . حسناً ،
11:34لدينا أيضاً مخاطر
11:36المنتج التي تؤثر على
11:38جودة أو أداء المنتج .
11:44من ناحية أخرى ، لدينا
11:46المخاطر الخارجية ،
11:48وهي خارجة عن المنظمة
11:50والمشاريع ، لكنها
11:52تولد بشكل عام مخاطر
11:54على العمل . أمم ، لقد
12:01دونت هنا بعض الأشياء ،
12:03تعريفات من أكاديمية
12:04اللغة التي رأيناها .
12:06أمم ، ماذا تقول ؟ أن
12:11الجودة هي خاصية لشيء
12:13ما تسمح بمقارنته مع
12:15البقية ، أي إذا كان له
12:17جودة أقل أو مساوية أو
12:20أعلى . بمعنى ، كان
12:24لدينا هناك مثال الهمر
12:25والفيراري . لا أعرف إن
12:27كنتم تتذكرون . أي أنها
12:29سمة تسمح بالمقارنة ،
12:31لكنها لا تخبرنا أيًا
12:33من الشيئين اللذين
12:35أقارن بينهما يتمتع
12:36بجودة أعلى من الآخر .
12:39من ناحية ، كنت قد
12:41أخبرتكم في البداية أن
12:43النظام الجيد يتطلب
12:44استيفاء المتطلبات ،
12:46لأننا من أجل ذلك
12:48سنقوم بماذا ؟ بإجراء
12:51عمليات التحقق
12:52والمصادقة لضمان
12:54استيفائها للمتطلبات .
12:56حسناً . كما قلت لكم ،
13:00الاختبار هو بمثابة
13:02طبيب ، يقوم بتشخيص
13:03حالة الشيء ، وكلما كان
13:05تشخيصنا للاختبار
13:07أفضل ، تحسنت الأمور ؛
13:09وعلينا تجنب الاعتقاد
13:11بأننا نضيف الجودة من
13:13خلال الاختبار . حسناً ،
13:18ماذا رأينا ؟ ضمان
13:20الجودة ( QA ) ، ومراقبة
13:21الجودة ( QC ) ، وإدارة
13:23الجودة ( QM ) . يشير كما
13:25تعلمون إلى ضمان
13:27الجودة ( Quality Assurance ) ،
13:29ومراقبة الجودة ( Quality
13:31Control ) ، والاختبار .
13:36حسناً ، الفرق الرئيسي
13:39بين QA و QC هو أن QA يهتم
13:42بالعمليات . فإن ضمان
13:47الجودة هو مجموعة من
13:49أنشطة المتابعة
13:50وتدقيق الجودة على
13:52العمليات . ومن ناحية
13:58أخرى ، لدينا مراقبة
14:00الجودة ( QC ) ، وهي مجموعة
14:03من الأنشطة لفحص جودة
14:05المنتج . تركز QC على
14:09جودة المنتج ، أما
14:11الاختبار ، وهو ما
14:12يترابط مع ذلك جيداً ،
14:14فهو أحد الأنشطة
14:16العديدة التي يمكننا
14:18القيام بها كجزء من
14:20مراقبة الجودة . حسناً .
14:23ولدينا أيضاً QM ، التي
14:25تحدثت معكم عنها
14:26كثيراً ، وهي إدارة
14:28الجودة ( Quality Management ) .
14:30حسناً ، بعد ذلك رأينا
14:35نماذج الجودة ،
14:37استعرضنا عدة نماذج
14:39لمؤلفين مختلفين ،
14:41وبشكل عام ، المبادئ
14:43التوجيهية لم تكن
14:44إلزامية بل إطارات
14:46مرجعية ، يمكن تكييفها
14:48مع أي نوع من الشركات ،
14:51وهي ذاتية التقييم
14:52وغير قابلة للشهادة .
14:57رأينا ما هو " تصحيح
14:59الأخطاء " ( Debugging ) . حسناً
15:01، البعض يعرفه والبعض
15:03الآخر لا . تصحيح
15:04الأخطاء هو عملية
15:06تحديد سبب العيوب
15:07ومعالجتها . حسناً ، و
15:15يُطلق عليه " ديبيغار " (
15:17debaguear ) . بالإسبانية
15:19نقول " ديبيغار " ، لكن
15:21المصطلح بالإنجليزية
15:22هو " ديبيغينغ " ( debugging ) .
15:24حسناً . نقول إنه عندما
15:27نبلغ عن " بق " ( Bug ) ، فإن
15:28عملية " ديبيغار " هي
15:30إزالة ذلك " البق " من
15:32البرنامج . إذاً ، ما هو
15:36الفرق الرئيسي بين
15:37الاختبار وتصحيح
15:39الأخطاء ( debugging ) ؟ حسناً
15:45، من ناحية ، يقوم
15:47بالاختبار مختص
15:48الجودة ( QA ) ، أما تصحيح
15:50الأخطاء فيقوم به
15:52المطور ، ومن ناحية
15:54أخرى ، الاختبار يكشف
15:56عن وجود العيوب ، بينما
15:58يسعى التصحيح لإيجاد
16:00أسبابها من أجل
16:01إصلاحها . و أمر آخر
16:10رأيناه كثيراً ، وهو
16:12أننا تعمقنا بالفعل في
16:14موضوع " أجايل " ( Agile ) .
16:16حسناً ، دخلنا في
16:17اختبارات الأجايل . لقد
16:22كنت أخبركم عن ماهية
16:23الأجايل في فريق
16:25الجميع فيه مسؤول عن
16:27الاختبار ، كما قلت لكم
16:29مراراً ، وعن تقديم
16:30منتج بأعلى جودة . يكتب
16:34المطورون اختبارات
16:36الوحدات ذات المستوى
16:38المنخفض ، يمكن أن تكون
16:40بأسلوب TDD أو BDD ، كما
16:42تحبون . آه ، بعد
16:46الاختبار الجزئي
16:48الأول ، سنتحدث قليلاً
16:50عن TDD و BDD . آه ، كنا
16:57نراجع المبادئ العشرة
16:58لما كان يُسمى اختبار
17:00الأجايل . حسناً . آه ،
17:04الأول هو تقديم
17:06ملاحظات مستمرة . يشارك
17:09المختبر في المتطلبات
17:11مع الأمثلة وحالات
17:13الاختبار ، ثم يعمل مع
17:15المطورين لتحويلها
17:16إلى اختبارات تلقائية
17:18وتشغيلها بشكل متكرر .
17:22آه ، نقطة أخرى هي
17:24تقديم قيمة للعميل .
17:28هنا ، ينصب تركيز
17:29الفريق دائماً على
17:31تحديد أكثر ما يضيف
17:36قيمة للمستخدم وتقديم
17:38ذلك فقط ، ولكن بجودة
17:40عالية في كل تكرار .
17:42حسناً ، هو كل تكرار أو
17:44" سبرنت " ( Sprint ) ، كما
17:46تحبون تسميته . نقطة .
17:48نقطة أخرى كانت ، كما
17:50أخبرتكم ، التواصل
17:51وجهاً لوجه . حسناً ، من
17:55الجيد دائماً إجراء
17:57محادثات ، تواصل مستمر
17:59لتسهيل المناقشات ،
18:01عادة عبر أمثلة . حسناً
18:06، لماذا يحدث هذا ؟
18:08لأننا أحياناً نبلغ عن
18:10خطأ ، والمطور يجلس ولا
18:12يرى ذلك الخطأ . لذا
18:15عليه أن يفكر : " حسناً ،
18:17ماذا أفعل ؟ " " متى سأراه
18:21؟ " أو ربما العكس ، هناك
18:24مطورون يستخدمون
18:25تطبيق " جيرا " ( Jira ) مثلاً
18:27، فيصلهم بريد
18:29إلكتروني ، فيرونه
18:30فوراً ويقولون : " يا
18:32إلهي ، ما هذا ؟ " " أين
18:34أخطأت ؟ " " ماذا جرى ؟ "
18:36فيتركون ما كانوا
18:37يعملون عليه . لكن
18:38حسناً ، هذا كله موضوع
18:40تواصل . أحياناً ،
18:42وأقولها دائماً
18:44وسأستمر في قولها ،
18:46التواصل بين مختبر
18:48الجودة ( QA ) والمطور مهم
18:51جداً . حسناً . آه ، نقطة
18:57أخرى كانت إظهار
18:58الشجاعة . حسناً ، هنا
19:01لإجراء تغييرات
19:03وإعادة هيكلة ( refactor )
19:05بفضل الاختبارات
19:06التلقائية ، التي قمنا
19:08بأتمتتها . للإجابة
19:12ربما على أسئلة صعبة
19:14حول هذا الدور ،
19:15وللتعافي بعد الفشل ،
19:17ولطلب المساعدة في
19:19الأشياء التي قد لا
19:21تكتمل في الوقت المحدد
19:22. حسناً . آه ، النقطة
19:26الخامسة ، التبسيط هنا
19:28، ماذا تعني ؟ حسناً ،
19:32ابحث عن حل قيم وبسيط ،
19:34وساعد العميل في تحديد
19:36مستوى الجودة المناسب .
19:40البساطة تعني
19:41الاختبار مع مرور
19:42الوقت ، حسناً ؟
19:44والأدوات التي
19:46تمتلكها لضمان الجودة
19:47ولحصول العميل على ما
19:49يحتاجه أيضاً . ربما
19:52فقط ، لا أعرف ، أتمتة
19:54اختبارات الدخان أو
19:56اختبارات الانحدار ،
19:58وإجراء الاختبارات
19:59الاستكشافية . سنرى
20:01لاحقاً بعد الاختبار
20:03الجزئي الأول أنواع
20:04الاختبارات . حسناً . آه
20:07، لكن حسناً ، ستكون
20:09هذه هي . نقطة أخرى ،
20:13ممارسة التحسين
20:14المستمر . لقد تحدثت
20:16معكم كثيراً عن هذا
20:18الأمر . حسناً ، دائماً
20:20هناك أشياء يمكن
20:21تحسينها . دائماً ،
20:23دائماً هناك أشياء
20:25للتحسين . حسناً . آه ،
20:27نقطة أخرى هي
20:28الاستجابة للتغييرات .
20:30بالنسبة لمختبري
20:32الجودة ، الأمر صعب
20:34بشكل خاص ، عليهم أن
20:36يكونوا في حوار مستمر
20:38حول التغييرات تماماً
20:40مثل المطورين ، لأنه
20:42إذا تغير شيء ولم
20:43يعلموا به ، فستكون
20:45هناك مشكلة . آه ،
20:48وعليهم دائماً أن
20:50يكونوا مستعدين وفي
20:51الموعد . حسناً . آه ،
20:54نقطة أخرى ، التنظيم
20:56الذاتي . حسناً ، إنه
20:58مهم أيضاً عند اتخاذ
21:00قرار بشأن استراتيجية
21:02الاختبار وتنفيذها .
21:04حسناً ، إنه مهم جداً .
21:06لقد تحدثت معكم عن خطة
21:08الاختبار . حسناً . آه ،
21:14نقطة أخرى هي التركيز
21:16على الأشخاص . حسناً ،
21:17وهذا يتعلق أكثر بكون
21:19مختبر الجودة جزءاً من
21:21فريق . حسناً ، لا ينبغي
21:23تهميش مختبر الجودة .
21:25والنقطة العاشرة التي
21:27تقول استمتع . حسناً . آه
21:30، ماذا يعني هذا ؟
21:32حسناً . أي ، للأسف يا
21:34رفاق ، إنها وظيفة ،
21:36هناك تعقيدات ، ويجب
21:38القيام بها ، ولكن
21:39مهلاً ، يجب على المرء
21:41دائماً الاستمتاع بكل
21:43مشروع . حسناً . آه ، ثم
21:48تعمقنا أكثر ، أخبرتكم
21:50عن " سكرام " ؛ وعن منهجية
21:53" أجايل " . تحدثت معكم عن
21:56مختبري الجودة : يجب أن
21:58يكونوا دائماً في نفس
22:00المكان مع المطورين ،
22:02يتشاركون مساحة العمل
22:03، لكي يحدث التواصل ؛
22:05وإذا لم يكن ذلك
22:07ممكناً ، ابحثوا عن طرق
22:09إبداعية لتحقيق ذلك .
22:11حسناً . آه ، يشارك
22:14مختبرو الجودة في نفس
22:16الاجتماعات مثل
22:17البقية ، مقدمين
22:19معرفتهم ، ومبادرين
22:21إذا لم يكن ذلك يحدث .
22:23حسناً ، لا توجد نسبة
22:25صحيحة بين المطورين
22:26ومختبري الجودة . حسناً
22:28، هذا غير موجود ، لقد
22:30أخبرتكم بذلك ولا وجود
22:32له . حسناً ، الأمر
22:33يعتمد على أمور مثل
22:35تعقيد المنتج ، وخبرة
22:37الفريق ، هناك الكثير
22:39من العوامل . حسناً . على
22:42أي حال ، يشارك
22:43المطورون دائماً في
22:45الاختبار اليدوي
22:46والآلي . حسناً ، إنهم
22:48موجودون دائماً . لماذا
22:50؟ لأنه ، أعني ، سيقوم
22:52فحص الجودة ( QA )
22:53بالاختبار ، وإذا وجد
22:55خللاً سيخبرهم عنه . أو
22:57إذا كانت عملية أتمتة ،
22:59سنرى لاحقاً بعد
23:01الامتحان الجزئي
23:02الأول ، كيف يشارك
23:04المطور في جزء الأتمتة
23:06. شيء آخر رأيناه هو
23:11الاختلافات بين
23:12العمليات التقليدية
23:14منذ عدة سنوات والوضع
23:16الحالي في منهجية
23:18أجايل ( Agile ) . ومؤخراً ،
23:22في الأسبوع الماضي ،
23:24استغربت لأن هناك
23:26بنكاً ، لن أذكر اسمه ،
23:28بدأ العمل بمنهجية
23:30أجايل قبل عام . لقد
23:33استغربت جداً أنهم ما
23:35زالوا يتبعون منهجية
23:36قديمة . اليوم ، مرت
23:39سنوات عديدة على وجود
23:40أجايل ، وقد استغربت
23:42أنهم بدأوا العمل بهذه
23:44الطريقة للتو ، لذا لا
23:46أعرف كيف كانوا ينجزون
23:48الأمور حقاً ، لكن لا
23:49أريد التدخل فيما لا
23:51يعنيني . شيء آخر
23:53رأيناه ، ما نصت عليه
23:56معايير ISO 25010 ، حول
23:58سمات الجودة ، التي
24:00كانت مقسمة إلى
24:02مجموعتين ، وظيفية
24:04وغير وظيفية . ضمن
24:06الوظيفية لدينا الصحة
24:08والاكتمال ، وضمن غير
24:10الوظيفية الموثوقية ،
24:12وسهولة الاستخدام ،
24:13والأمان ، وقابلية
24:15الصيانة . كفاءة الأداء
24:18. آه . أمر مهم أيضاً ،
24:26لماذا تعد الاختبارات
24:28ضرورية ؟ أعتقد أنني
24:34طرحت عليكم هذا السؤال
24:36في ذلك الوقت ، لكي
24:37تجيبوا وتخبروني
24:39لماذا تعتقدون أن
24:40الاختبارات ضرورية . من
24:46الواضح أن هناك
24:47أسباباً عديدة تدعو
24:49لاختبار البرمجيات ،
24:51لكن أهمها هو أن
24:52البرمجيات يصنعها بشر
24:54، والبشر يرتكبون
24:56الأخطاء . وهنا سأقول
25:01لكم شيئاً سنتحدث عنه
25:03قليلاً عند انتهاء
25:04الدورة . حسناً . الذكاء
25:08الاصطناعي يرتكب
25:09أخطاء أيضاً يا شباب ،
25:11وهذا أمر مثبت . أنا
25:14أتعامل مع هذا يومياً ،
25:16ربما أنتم أيضاً
25:17ستفعلون أشياء قد لا
25:19تتعلق بتطوير
25:20البرمجيات ، لكن
25:22الذكاء الاصطناعي
25:23يخطئ . حسناً ، هو ليس
25:27دقيقاً بنسبة 100 % ، هذا
25:29لا يعني ألا نستخدمه ،
25:32بل نستخدمه كثيراً .
25:35لقد رأيت بنفسي أنه
25:37ارتكب أخطاءً عديدة ،
25:39لكنه ساعد كثيراً
25:41أيضاً . هذا صحيح ، يجب
25:43أن نرفع له القبعة .
25:45نقطة أخرى ، مع زيادة
25:47ضغط التسليم ، لا يتوفر
25:49وقت للفحص ويبدأ
25:51الافتراض ، مما يؤدي
25:53إلى ارتكاب أخطاء
25:55فادحة . نقطة أخرى ، يتم
25:58أيضاً قياس مدى
25:59استقرار البرمجيات .
26:02حسناً ، و ... يتم إثبات
26:06خلو البرنامج من
26:07العيوب لضمان قيامه
26:09بما ينبغي عليه فعله ،
26:11لأننا نعلم ، كما
26:13أخبرتكم ، أن العيوب
26:15غالباً ما تكون مكلفة
26:17للغاية . من الأرخص
26:20والأسرع اكتشاف
26:21العيوب قبل إطلاق
26:22النظام للإنتاج وطرحه
26:24في السوق . حسناً ، ماذا
26:28رأينا أيضاً ؟ أهداف
26:30الاختبارات . أهم
26:32الأهداف هي كالتالي .
26:35اكتساب المعرفة . هنا ،
26:37ماذا نفعل ؟ نقوم
26:38بإجراء اختبارات
26:40لمعرفة العيوب
26:41الموجودة في كائن
26:42الاختبار ووصفها
26:44بطريقة تسهل تصحيحها .
26:47تأكيد الوظائف . من
26:49خلال الاختبارات
26:51نتحقق من أن وظائف
26:52النظام قد تم تنفيذها
26:54كما هو محدد لها . توليد
26:58المعلومات ، ماذا يعني
27:00ذلك ؟ يعني توفير
27:03معلومات حول المخاطر
27:04المحتملة المتعلقة
27:06بالنظام قبل تسليمه
27:07للمستخدم النهائي .
27:11حسناً ، ونقطة مهمة هي
27:13الثقة ، حسناً ؟ لأن
27:18الثقة والتواصل
27:20يسيران جنباً إلى جنب .
27:23لماذا الثقة ؟ لأننا
27:25نكتسب الثقة عندما
27:26نعلم أن النظام يلبي
27:28الوظائف المطلوبة .
27:29المتوقعة ، ما الذي
27:31يتوقعه المستخدم
27:32النهائي ؟ لأنه إذا لم
27:34يكن هذا ما يتوقعه
27:35المستخدم النهائي ،
27:37فإننا نواجه مشكلة
27:38خطيرة للغاية . أ مبادئ
27:43الاختبار ، ما هي ؟
27:46الاختبارات تكشف عن
27:47العيوب . الاختبارات
27:50الشاملة غير ممكنة .
27:57الاختبار في مراحل
27:59مبكرة ، تجميع العيوب ،
28:01مفارقة المبيدات
28:03الحشرية ، الاختبارات
28:05تعتمد على السياق ،
28:07ومغالطة غياب الأخطاء .
28:13حسناً ، وهي مبادئ
28:15الاختبار السبعة . ثم
28:20رأينا القليل عما كانت
28:22عليه أنشطة مشروع
28:23تطوير البرمجيات . بدأت
28:26بالتحليل ، التصميم ،
28:28التطوير ، الاختبار ،
28:30التنفيذ ، والصيانة .
28:34وتذكروا أنني عرضت
28:36عليكم شريحة في الأسفل
28:38كانت تشمل الجميع ، وهي
28:39مرحلة التخطيط . حسناً .
28:46مرحلة التحليل . حسناً ،
28:49سنقوم بإجراء تقييم
28:50أولي لهذا النظام .
28:52مرحلة التصميم هي
28:54عندما نبدأ في تحديد
28:55كيفية التنفيذ . حسناً ،
28:58نبدأ في كتابة قصص
29:00المستخدمين . حسناً ،
29:04بعد ذلك يبدأ التطوير ،
29:06ثم يأتي الجزء الذي
29:08نقوم به والذي نحبه ،
29:10وهو مرحلة الاختبار .
29:12حسناً ، ثم لدينا مرحلة
29:14التنفيذ . بعد ذلك
29:17لدينا عملية نقله إلى
29:19بيئة اختبار قبول
29:21المستخدم ( UAT ) ، حسناً ؟
29:23وهي حيث يقوم المستخدم
29:25النهائي بالاختبار ،
29:26وبعد ذلك يتم الإطلاق
29:28للإنتاج . وبعد ذلك ، من
29:30الواضح أن الأمر لا
29:31ينتهي عند هذا الحد ،
29:33فهناك مرحلة تستمر حتى
29:35نهاية النظام ، وهي
29:37مرحلة الصيانة . حسناً .
29:42إيه ، الأدوار داخل
29:44إجناسيو .
29:46>> نعم يا أستاذ ، عذراً .
29:48إيه ، هل يجب علينا في
29:50الامتحان دراسة ذلك
29:52النوع من دورة حياة
29:53التطوير فقط ، أليس
29:55كذلك ؟
29:58>> ماذا تقصد بدورة حياة
30:00التطوير تلك ؟
30:01>> لأن ما ذكرته هو دورة
30:03حياة تطوير تعتمد على
30:05المراحل وهناك نماذج
30:07عديدة .
30:09>> أنت تقصد التقليدي .
30:12>> نعم .
30:12>> حسناً . نعم . يعني ، قبل
30:15كل شيء ، كما قلت لكم ،
30:17بدأت بالتقليدي ،
30:18لكنني لا أحب أن نسير
30:20على نهجه ، لا أحب
30:22الاعتماد على
30:23التقليدي . بالنسبة لي ،
30:25التقليدي انتهى منذ
30:26سنوات عديدة . ولهذا
30:28السبب كنت أتحدث إليكم
30:30عن قصص المستخدم ،
30:31والمنهجية الرشيقة (
30:33أجايل ) ، وكيف يعمل
30:34المختبر ، أي ضمان
30:36الجودة ( QA ) ، فأنا أحب
30:37رؤية الأمور بهذه
30:39الطريقة . حسناً ، فيما
30:41يخص التقليدي ، يكفي أن
30:42تكونوا على دراية بما
30:44كان عليه . أعتقد أنكم
30:45تعرفون الكثير عنه
30:47بالفعل ، ربما رأيتموه
30:49في مادة أخرى أو لا .
30:53حسناً ، ولكن قبل هذه
30:55المادة التي هي عن
30:57التطوير ، لا أتذكر ما
30:59كانت ، ولا أتذكر اسم
31:01الأستاذ ، إيه دعوني
31:08أرى ، سأخبركم الآن .
31:10إيه ، انتظروا ، كنت
31:11سأسألكم عن هذا لأننا
31:15عملنا معاً في الفصل
31:17الدراسي الماضي والآن
31:22انتظروا ، سأسألكم
31:24فوراً . دعوني أرى ،
31:27أعتقد أنكم تعلمون ،
31:29ولكن لكي أتأكد أريد
31:31أن أسألكم . رودريغو ،
31:37هل يمكن أن يكون هو ؟ أم
31:40لا ؟
31:43>> لدينا داميان
31:44ولاوتارو ، هذا
31:46>> لاوتارو . لاوتارو لم
31:48يعد موجوداً . الآن تم
31:51استبداله ، لا أتذكر
31:52اسم الأخير ، لكن نعم
31:54كان لدينا لاوتارو في
31:56مادة " الاقتراب من
31:58مجالات العمل " .
32:00>> انتظروا ، انتظروا ، لا
32:02أتذكر . لقد جعلتموني
32:03أشك الآن . انتظروا
32:05لحظة .
32:05>> لا ، لا ، من المؤكد أنه
32:07لاوتارو ، لكن ما حدث
32:08هو أن الأمر تغير هذا
32:09العام بالضبط .
32:10>> آه ، يعني أنه لم يعد
32:11موجوداً ؟
32:12>> ها ؟ لا ، لا ، الشهر
32:14الماضي ، بل هذا الشهر
32:16بالفعل ركز على
32:19الدراسة .
32:21>> آه ، انظر . وماذا كانت
32:23مادة التطوير ؟ قد تكون
32:26.
32:26>> نعم . الاقتراب من مجال
32:28العمل الذي يتعلق
32:30بإدارة الأنظمة
32:31والمنظمات . لا أتذكر
32:33ما هو اسمها . كانت .
32:36>> آه ، ها هي هنا . لقد
32:38وجدتها . إيه أنا أطالع
32:50رسائل البريد
32:51الإلكتروني . انتظروا ،
32:53إيه ، لكنني لا أتذكر .
33:01لا ، لم تكن هذه هي
33:03الرسالة . حسناً ، تنفيذ
33:09. نعم ، لاوتارو . كان
33:15عندي لاوتارو مونيوز .
33:17قد يكون .
33:19>> نعم . أوه ، انظر ، لم أكن
33:22أعلم أنه لم يعد
33:23موجوداً . حسناً ،
33:25الفكرة هي أننا تحدثنا
33:27معه لكي يتحدث إليكم
33:28قليلاً عن التطوير
33:30باستخدام المنهجيات
33:32الرشيقة ( Agile ) ، ولكن
33:33ربما البعض منكم قد
33:35حضر ذلك ، أليس كذلك ؟
33:36لكن كان من المفترض
33:38تطبيق هذا بدءاً من
33:39هذا الفصل الدراسي . لم
33:40أكن أعلم أن لاوتارو
33:41لم يعد موجوداً . حسناً
33:43،
33:43>> الآن نحن نرى شيئاً
33:44أكثر هجيناً ، يجمع بين
33:46التقليدي و
33:48>> نعم ، كنت أود أن تروا
33:50الجانب غير التقليدي
33:52فقط ، ولكن حسناً ، أنا
33:54لا أضع الشروط هنا يا
33:56شباب . إيه حسناً . حسناً
34:00، لنكمل . هل هناك أي
34:02سؤال حتى الآن أم
34:03تريدون مني المتابعة
34:04ثم تطرحون أسئلتكم
34:06لاحقاً ؟ لدي ساعة يا
34:10أستاذ . هل سيكون
34:12مكتوباً على الورق أم
34:14>> ذلك ؟ سأخبركم بذلك في
34:16النهاية لاحقاً .
34:19>> حسناً .
34:20>> إيه ، ماذا رأينا أيضاً
34:24؟ الأدوار داخل كل
34:27مرحلة ، كما كنا نتحدث ،
34:29المطورون يكتبون
34:31الأكواد ، إنهم يطورون .
34:34كان لدينا أيضاً ، هل
34:35تذكرون عندما أخبرتكم
34:37عن مسؤول قواعد
34:38البيانات ( DBA ) ، وتصميم
34:40واجهة وتجربة
34:41المستخدم ( UX UI ) ، وأشخاص
34:43الـ DevOps الذين يهتمون
34:44بكل ما يتعلق بالبيئات
34:46، والتكاملات ،
34:47وعمليات النشر ، لذا
34:49يبدو الأمر وكأن كل
34:50الخيوط بدأت تتصل
34:52ببعضها . حسناً ، إذا لم
34:54نعمل معاً كفريق ، يا
34:55شباب ، فنحن في مأزق
34:57حقيقي . ثم تحدثنا عن
34:58قصص المستخدم الشهيرة .
35:01حسناً ، كيف تتكون قصص
35:03المستخدم ، وهي أوصاف
35:05قصيرة وبسيطة لميزة ما
35:08، تُروى من منظور
35:09الشخص الذي يرغب في
35:11هذه القدرة أو الوظيفة
35:13الجديدة ، وعادة ما
35:15يكون مستخدماً أو
35:17عميلاً للنظام .
35:21وتذكروا أن القالب كان
35:23: بصفتي مستخدماً ،
35:25أريد هدفاً معيناً من
35:27أجل الدافع . كما
35:31أخبرتكم ، قصص
35:32المستخدم هي عنصر
35:34أساسي في نهج منهجية "
35:36أجايل " ( Agile ) . يتم
35:38كتابتها بطرق عديدة ،
35:40حتى بالطريقة التي
35:42ربما ترونها ، مع أوراق
35:44لاصقة ( بوست إت ) على
35:46الزجاج ، هذا بالنسبة
35:48لي كذب لأنني أريتكم
35:50قصة مستخدم وأحياناً
35:52تكون قصص المستخدم
35:54ضخمة . حسناً ، لكن
35:56الطريقة الأكثر
35:58فعالية لإنشاء وتتبع
36:00قصص المستخدم هذه ، كما
36:02أخبرتكم ، هي برنامج
36:04إدارة المشاريع . حسناً
36:06، الأكثر شهرة هو " جيرا
36:09" ( Jira ) ، و " أزور " ( Azure ) ، و "
36:12تريلو " ( Trello ) ، حسناً ، كل
36:14هؤلاء ، وهناك الكثير
36:16غيرهم . حسناً ، الأكثر
36:18استخداماً هما هذا و "
36:20أزور " . تتم كتابة قصة
36:22المستخدم من خلال ثلاث
36:24خطوات . حسناً . تلك
36:29الخطوات الثلاث
36:31لكتابة قصة المستخدم
36:33هي : الملف التعريفي ،
36:35وهو دور المستخدم ؛
36:36والحاجة ، وهي الهدف من
36:38ميزة التطوير البرمجي
36:40للمستخدم النهائي ؛
36:42والغرض ، وهو الهدف من
36:44تجربة المستخدم
36:46النهائي مع هذه الميزة
36:48. تُستخدم قصص
36:53المستخدم هذه ضمن إطار
36:55عمل " سكرم " ( Scrum ) أو "
36:57كانبان " ( Kanban ) ، كما ذكرت
36:59سابقاً . حسناً . الفرق
37:09الكبير بينهما هو أن "
37:11كانبان " يُستخدم بشكل
37:13أكبر لأعمال الصيانة ،
37:15ولن أختبركم في هذا ،
37:17يا شباب . لماذا ؟ لأن "
37:25سكرم " مقسم إلى دورات
37:26عمل ( سبرنت ) تتراوح بين
37:28أسبوعين إلى ثلاثة
37:29أسابيع . بينما في "
37:31كانبان " ، تُجمع قصص
37:32عدة وقد يستغرق العمل
37:34عليها شهراً أو شهراً
37:35ونصف . لماذا ؟ لأن
37:37النظام دخل بالفعل في
37:39مرحلة الصيانة . حسناً ،
37:42لذا فإن المطورين
37:43وفريق ضمان الجودة
37:45يعرفون تقريباً الوقت
37:47الذي سيستغرقونه . هذا
37:50لا يعني عدم وجود " سكرم
37:52ماستر " يوجههم ويتابع
37:54تقدمهم ويستخرج
37:55الإحصائيات . لا ، هذا
37:57غير صحيح . فهو موجود ،
37:59ويسأل دائماً : " كم
38:00سيستغرق هذا الأمر ؟ "
38:02حسناً ، سنحتاج شهراً
38:04لإنجاز كل هذا مع
38:05الاختبارات . حسناً ،
38:06اتفقنا . بشكل عام ،
38:08الفرق بينهما يكمن في
38:10تحقيق الحد الأدنى من
38:11المنتج القابل للنمو (
38:13MVP ) . حسناً ، الـ MVP هو
38:16عندما يكون لدينا عدة
38:18... دورات عمل ( سبرنت ) ثم
38:22يخرج المنتج إلى السوق
38:24، وبعدها يدخل في
38:25مرحلة الصيانة ، وربما
38:27ننتقل حينها إلى "
38:29كانبان " . أو يواصل
38:30البعض استخدام " سكرم " .
38:32حسناً ، بالنسبة لي ،
38:34أرى أن " سكرم " يعمل
38:35بشكل أفضل . شيء مهم آخر
38:39تناولناه في قصص
38:40المستخدم هو : ما هي
38:42معايير القبول ؟ يتم
38:48تحديد معايير القبول
38:49من قبل مالك المنتج ،
38:51أي الشخص المسؤول عن
38:53العمل ، بينما يجتمع
38:55فريق التطوير مع فريق
38:57ضمان الجودة لفهم
38:58تفاصيل قصة المستخدم .
39:04وهناك أمر مهم جداً ،
39:05إذا لم تفهموا قصة
39:07المستخدم ، فعليكم
39:09السؤال . في الواقع ، من
39:14الطبيعي ألا تجد
39:15معايير القبول داخل
39:17وصف القصة . لماذا ؟ لأن
39:21مالك المنتج لا يفكر
39:22في ذلك الجانب . فهو
39:24يقول فقط : " حسناً ، أريد
39:25تطوير نظام يحتوي على
39:26وظائف الإضافة ،
39:27التعديل ، والحذف ، مع
39:28شاشة تسجيل دخول " . لا ،
39:30لا ، لم يفكر في ماهية
39:32معايير القبول . إذًا ،
39:34هناك اجتماع تخطيط ،
39:36يأخذون القصة وهناك
39:38يجب عليهم تقديرها ،
39:40وهناك يجب أن يقولوا : "
39:42مهلاً ، وما هي معايير
39:44القبول ؟ " حسنًا ،
39:48كأمثلة لمعايير
39:50القبول لقصة ما ، لا
39:52أعلم ، لنقل شيئًا
39:53سهلاً ، تسجيل دخول
39:55المستخدم إلى التطبيق .
39:58حسنًا . حسنًا ، إذًا
40:00يجب أن يكون معيار
40:02القبول هو أن يسجل
40:03المستخدم دخوله باسم
40:05مستخدم فريد . يجب أن
40:07يسجل المستخدم دخوله
40:09بكلمة مرور مكونة من 10
40:11أحرف كحد أدنى . لا يمكن
40:12للمستخدم الذي قام
40:14بتسجيل الدخول رؤية
40:16بيانات لا تخصه . حسنًا
40:19، إذًا ما هي فوائد
40:21كتابة معايير القبول ؟
40:27حسنًا ، من بين الفوائد
40:29الرئيسية التي
40:30ذكرناها سابقًا هي
40:31معرفة متى تكون قصة
40:33المستخدم منتهية
40:35وتلبي توقعات العميل .
40:40تيار جديد من هذا الذي
40:42أتحدث عنه حول
40:43المنهجيات ، وهو ما
40:45ستكون عليه هذه
40:47المفاهيم . حسنًا ،
40:49أولاً هو إعطاء
40:51الأولوية لـ الأفراد
40:55والتفاعلات على
40:56العمليات والأدوات .
40:59ماذا يعني ذلك ؟ أنه
41:01على الرغم من أن
41:02العمليات تتجاوز
41:04العمل والأدوات ، إلا
41:05أنها ستسمح لنا
41:07بالقيام بهذا العمل
41:08بطريقة أكثر كفاءة .
41:13الآخر كان البرمجيات
41:14الشغالة مقابل
41:15التوثيق الشامل من
41:17منظور العميل . النقطة
41:21الأخرى كانت التعاون
41:23مع العميل . حسنًا ، أي
41:25أنه على الرغم من أنه
41:27يجب أن يكون هناك إطار
41:29ينظم العلاقة بين
41:30الشركات ، وهذا الإطار
41:32سيكون العقد . حسنًا .
41:36والآخر هو الاستجابة
41:38للتغيير مقابل اتباع
41:40خطة . هل تتذكرون أنني
41:46أخبرتكم أنه في عام 2001
41:48اجتمع 17 من منتقدي
41:50نماذج تطوير
41:51البرمجيات التقليدية
41:53وقاموا بتحديد
41:54المبادئ الـ 12 ؟ حسنًا .
42:00أحدها كان أولوية
42:02إرضاء العميل من خلال
42:03التسليم المبكر . الآخر
42:08هو قبولنا لتغيير
42:10المتطلبات حتى في
42:11المراحل المتأخرة .
42:14حسنًا ، هذا لا يعني
42:15أنها تتغير ... لا ، تتغير
42:17وربما تتغير في منتصف
42:19دورة العمل ( السبرنت ) .
42:21جاهزون ، نحن نتكيف .
42:24نقطة أخرى هي تسليم
42:26برمجيات وظيفية بشكل
42:28متكرر في أقصر فترة
42:30زمنية ممكنة . كلما
42:31سلمناها أسرع كان ذلك
42:33أفضل . هذا يحدث ولن
42:35يحدث أبداً يا رفاق ،
42:37للأسف ، أي أنه من
42:39المرجح أن نتأخر بدلاً
42:41من أن نسلم قبل الموعد .
42:46يتم تطوير المشاريع ،
42:48حسنًا ، من خلال أفراد
42:53متحمسين في بيئة
42:55مناسبة . هناك ، الطريقة
42:59الأكثر فعالية ، كما
43:01أخبرتكم ، كانت
43:02التواصل . حسنًا . مم ، ما
43:06هي القاعدة الأساسية ؟
43:10حسنًا ، أداء البرنامج
43:12هو المقياس الرئيسي .
43:16حسنًا ، العمليات مم
43:24العمليات الرشيقة
43:25تعزز التطور المستدام .
43:28لماذا ؟ لأن هذا سيستمر
43:30دائمًا بمرور الوقت مع
43:32منهجية " أجايل " . إنهم
43:34يتكيفون ويواصلون
43:35التقدم للأمام .
43:38الاهتمام المستمر
43:40بالتميز التقني
43:41والتصميم الجيد يعزز
43:43من الرشاقة . ومن
43:47الواضح هنا أن البساطة
43:49أمر ضروري . كلما جعلنا
43:54الأمر أبسط كان أفضل ،
43:55ويجب أن تكون الفرق
43:57ذاتية التنظيم . حسنًا ،
44:02كلما زاد التنظيم
44:03الذاتي ، سيعمل الفريق
44:05بشكل أفضل . يجب على
44:09الفريق أيضًا التفكير
44:11في كيفية زيادة
44:12الفعالية وتعديل
44:14السلوك ، والقول : " يا
44:16جماعة ، هذا لا يعمل " .
44:18يجب أن نفعل ذلك
44:19بطريقة مختلفة . ثم ،
44:22النقطة الأخرى التي
44:23رأيناها كانت بيان "
44:25أجايل " . حسنًا . مم ، ما
44:30الذي كان يدور حوله
44:32هذا ؟ كانت هناك مبادئ
44:35مثل الاختبار أثناء
44:37العمل والاختبار في
44:39النهاية ، ومنع العيوب
44:41، وفهم ما يتم فعله في
44:43ضمان الجودة للتحقق من
44:45الوظائف ، وبناء أفضل
44:47نظام بدلًا من تحطيمه .
44:52حسنًا ، وتذكروا أن
44:53الفريق هو المسؤول عن
44:55الجودة . حسنًا ، أنتم
44:59مسؤولون عن الجودة ،
45:00لكن الفريق بحد ذاته
45:02مسؤول أيضًا . مم ، ثم
45:09رأينا عملية الاختبار
45:11، وماهية التخطيط ، وما
45:13الذي يتضمنه ، وأين أنا
45:15، وإلى أين أريد
45:17الوصول . مم ، من الواضح
45:24أنه يجب مراعاة
45:25الاحتياجات المختلفة
45:27والطوارئ . عندما نتحدث
45:31عن التخطيط ، سنقوم
45:33بشكل أساسي بتلك
45:35الأمور التي مم لا
45:38يوجد ترتيب تسلسلي .
45:41حسنًا ، هذه أمور يجب
45:43أن نقوم بها أثناء
45:45التخطيط . سيتم تحديد
45:47الجهد والتقديرات ،
45:49ويجب عمل قوائم التحقق
45:51. حسنًا ، خطة الاختبار
45:54التي رأيناها مؤخرًا
45:56وما تتكون منه ، هذا
45:58أمر أساسي وسيساعدكم
46:00في كل ما يخص الخلية
46:02منذ بدايتها من الصفر .
46:08هناك أيضًا المرحلة
46:09التي يكون فيها الشخص
46:11أو المورد المسؤول هو
46:13الإدارة ، أو قائد ضمان
46:15الجودة ، أو رئيس ضمان
46:17الجودة ، أيًا كان
46:18المسمى . مم ، وبمجرد أن
46:22يبدأ كل شيء ، حسنًا ،
46:24يجب القيام بالمتابعة
46:26والتحكم . رأينا أيضًا
46:27ما هي المقاييس ،
46:29والتقارير ، ومتابعة
46:30موارد ضمان الجودة ،
46:32والتحسينات ، والمشاكل
46:34المتنوعة التي
46:35ستواجهونها بكثرة . ثم
46:38انتقلنا من التخطيط
46:39إلى مرحلة التحليل ،
46:41والتي كانت تهدف إلى
46:43تحديد أهداف الاختبار
46:44، وأفكار الاختبار ،
46:46والسيناريوهات ،
46:47والعناوين . حسناً ،
46:50تحديد تفاصيل
46:51الاختبارات ، وتصميم
46:53حالات الاختبار ، دور
46:55المحلل هذا ، عندما
46:57يتعين علينا إجراء هذه
46:59الاختبارات ، هو الذي
47:01يرتدي قبعة المستخدم ،
47:03ويضع نفسه مكان
47:04المستخدم ويبدأ في
47:06التفكير كما يفكر
47:08المستخدم . ولهذا السبب
47:11غالباً ما يكون محلل
47:13الاختبار هذا هو
47:14الأكثر معرفة بـ كيف
47:18يعمل ذلك النظام .
47:20حسناً . غالباً ما
47:22يذهبون ويسألون مختبر
47:23الجودة ( QA ) : " يا صديقي ،
47:25هل يمكنك إخباري كيف
47:27يعمل هذا ؟ " لأنهم ربما
47:28لا يعرفون الخطوات ،
47:30وكيف يجب عليهم القيام
47:31بها ، وكيف يعمل النظام
47:33في الخلفية ، بينما
47:34يعرف مختبر الجودة ذلك
47:36. حسناً . حسناً ، ثم
47:38كانت هناك مرحلة
47:40التصميم ، حيث تحدثت
47:41معكم عن مفهومين مهمين
47:43، وهما الـ Driver والـ Stub
47:45. حسناً . المساهمة في
47:50تحديد استراتيجية
47:51الاختبار ، وتحديد
47:53معايير الأتمتة ،
47:54وتحديد إعدادات
47:56البيئات ، وتحويل
47:57أفكار الاختبار إلى
47:59حالات اختبار . حسناً ،
48:09تحدثنا عن التصميم ؛
48:11ورأينا ما هي حالة
48:12الاختبار ، وهي مجموعة
48:15من مدخلات الاختبار ،
48:17وشروط التنفيذ ،
48:18والنتائج المتوقعة
48:20التي سيتم تطويرها
48:22لهدف معين ، مثل تتبع
48:24مسار معين في برنامج
48:26أو التحقق من أنه يلبي
48:28متطلبات أو قصة مستخدم
48:31محددة . شيء مهم هو
48:41أنواع تصميم الاختبار
48:43، وتذكروا أن تصميم
48:45حالات الاختبار ، قلت
48:47أنواع الاختبارات ،
48:49حالات الاختبار ،
48:50لدينا نوعان ،
48:51الإيجابية والسلبية .
48:57حسناً ، حالات
48:58الاختبار الإيجابية
49:00تثبت الوظيفية ، وحالة
49:02الاختبار السلبية
49:04تتحقق من المواقف التي
49:06يوجد فيها معالجة
49:07للخطأ . إيه ، الحالات
49:13هناك لها عنوان بشكل
49:15عام . إذا كنا نتحدث عن
49:17فكرة الاختبار تلك أو
49:19ذلك السيناريو . حسناً .
49:21إيه ، رأينا أيضاً أنني
49:27عرضت لكم جميع الحقول
49:29التي تحتوي عليها حالة
49:31الاختبار ، العنوان ،
49:33الأوصاف ، نوع
49:34الاختبار ، الشروط
49:36المسبقة ، البيانات ،
49:38الخطوات ، الأولوية ،
49:40النتيجة المتوقعة ،
49:41هناك الكثير من الحقول
49:43بداخلها . ومن ناحية
49:48أخرى ، تحدثنا عما كان
49:50يخص أتمتة حالات
49:51الاختبار . حسناً ، سنرى
49:54ذلك لاحقاً في المرحلة
49:56الأخيرة ؛ الشخص الذي
49:58سيقوم بأتمتة حالات
49:59الاختبار هذه يجب أن
50:01يكون لديه معرفة
50:02بالتطبيق المراد
50:04اختباره ، ويجب أن يكون
50:06لديه معرفة بالبرمجة ؛
50:08نعم ، هو دور يميل
50:09للبرمجة أكثر من
50:10الاختبار ، بشكل أساسي .
50:13و ثم رأينا الجزء
50:17الأخير وهو تنفيذ
50:18الاختبارات . حسناً ،
50:21ماذا كان ماذا ؟ أي أنه
50:25بمجرد تصميم حالة
50:26الاختبار ، سيكون
50:28لدينا البرنامج
50:29وسيتعين علينا
50:30اختباره . إه ، بالطبع ،
50:34ما هي النتيجة التي تم
50:36الحصول عليها في تلك
50:38اللحظة ؟ ما نقوم به هو
50:40تحديث حالة حالة
50:41الاختبار هذه . النتيجة
50:43المتوقعة تتطابق مع
50:44النتيجة التي تم
50:45الحصول عليها . نعم .
50:47حسناً ، إذاً نحدد ما
50:49حدث . النتيجة المتوقعة
50:51تتطابق مع النتيجة
50:52التي تم الحصول عليها .
50:54لم أحصل على شيء مختلف .
50:57حسناً ، إذاً نحدد أنها
50:59فشلت . وإذا فشلت ، فمن
51:05الواضح أننا يجب أن
51:07نرفع تذكرة ونوضح أنها
51:09فشلت ، لكننا سنرى ذلك
51:11بعد الاختبار الجزئي
51:13الأول ، وهو بالطبع أول
51:15درس ، حسناً ؟ وهو دورة
51:21حياة العيب وتقرير
51:22الاختبار النهائي .
51:27حسناً ، هل هناك أسئلة ؟
51:34بما أنكم أصبحتم أكثر
51:36عدداً ، أخبركم أنني
51:38استلمت الأعمال
51:39العملية . يبدو لي ، إذا
51:41لم أكن مخطئاً ، أن
51:43شخصاً ما أجبت عليه
51:44بأن كان هناك شيء ما ،
51:48لا أعرف ما هو ، لكنني
51:50أجبته إذا كنتم تريدون
51:52إرسالها لي الآن . لا
51:55توجد مشكلة ، أرسلوها
51:57لي ، ستفيدكم في
51:58التدريب للاختبار
52:00الجزئي الأول . إه ، كيف
52:06سيكون الاختبار
52:07الجزئي الأول ؟ سيحتوي
52:10الاختبار الجزئي
52:11الأول على جزء عملي
52:13وجزء نظري . حسناً ،
52:18دائماً أختبر
52:19الجانبين ، الجانب
52:20العملي والجانب
52:22النظري . ليس على
52:23الكمبيوتر يا شباب .
52:24أنا لا أختبر على
52:25الكمبيوتر . هذا على
52:27الورق .
52:29>> كم عدد الأسئلة التي
52:31سنجيب عليها يا أستاذ ؟
52:32تقريباً .
52:33>> لا ، لا أعرف . 52 . لا أعرف
52:41، لا أعرف . حسناً .
52:47إليونورا ،
52:49>> نعم ، مساء الخير . أريد
52:51أن أعرف تحديداً ، كما
52:53تعلمين عندما تتحدثين
52:55عن معايير ISO
52:56>> 25000 ، الـ 25
52:59>> 2510 ،
53:00>> نعم ، 010 . بالضبط .
53:03>> نحن نتحدث عن السمات
53:05الوظيفية وغير
53:06الوظيفية ، ثم
53:07بالتحديد عن ISO 2510 التي
53:09تحتوي على الكثير من
53:13النصائح ، لنقل ، حول
53:15الاكتمال الوظيفي ،
53:17وكفاءة الأداء ،
53:18وقابلية الاستخدام .
53:22أحتاج أن أعرف ،
53:23وسأخبركم الآن ، أي من
53:25سمات الجودة في ISO
53:27تندرج تحت السمات
53:29الوظيفية وأيها تحت
53:31غير الوظيفية . هذا
53:33>> فقط . بقية الأمور خاصة
53:34جداً بمعيار " أيزو " ،
53:36أليس كذلك ؟
53:37>> لا .
53:37>> حسناً ، شكراً .
53:38>> لقد قلصتها لكم كثيراً
53:40.
53:40>> شكراً .
53:41>> لقد قلصتها لكم ، أليس
53:43كذلك ؟ حسناً .
53:44>> نعم ، نعم .
53:45>> تم . ماذا أيضاً ؟
53:51باوتيستا .
53:52>> نعم ، هل صوتي مسموع
53:54جيداً ؟
53:55>> نعم ، تمام .
53:56>> كان لدي استفسار بخصوص
53:58أنواع حالات الاختبار
53:59التي ذكرتها ،
54:00الإيجابية والسلبية ،
54:02لكن لم يتضح لي الأمر
54:03تماماً بالنسبة
54:04للسلبية . السلبية ،
54:07>> نعم ،
54:07>> في السلبية عليك أن
54:09تجبر النظام على إظهار
54:10خطأ . على سبيل المثال ،
54:12إذا كان لدي تسجيل
54:14دخول ، الحالة
54:15الإيجابية تكون
54:16الدخول بنجاح ، اسم
54:17المستخدم ، كلمة
54:18المرور ، تسجيل دخول
54:20ودخلت . أما الحالة
54:22السلبية فستكون إدخال
54:24اسم مستخدم خاطئ ، أو
54:25كلمة مرور خاطئة . نعم ،
54:29نعم ، تمام .
54:30>> جيد . هل لدى أي أحد
54:40أسئلة ؟ يا شباب ،
54:44>> أستاذ ، هل سيكون الجزء
54:46النظري اختياراً من
54:48متعدد أم أسئلة مقالية
54:50؟ أفضل أن يكون كلاهما
54:52، مقالي واختيار من
54:54متعدد . سأضع أسئلة
54:57محددة ، بمعنى ، ما هي
54:59حالة الاختبار ؟ لا
55:01أريدكم أن تكتبوا
55:03الكثير ، سيكون لديكم
55:05بضعة أسطر ، ثلاثة أسطر
55:07. في ثلاثة أسطر يجب أن
55:10تشرحوا لي الأمر جيداً
55:12. أي أنني أحب الأمور
55:14الواضحة والمحددة .
55:16سريعة ومباشرة . جيد .
55:22على أية حال ، لسنا
55:24كثيرين . أحياناً ،
55:27حسناً ، لسنا كثيرين
55:29الآن ، نحن 33 طالباً ،
55:31لكن هناك الكثير
55:32مسجلون في المادة ، إلا
55:34إذا كانوا قد انسحبوا ،
55:37لا أعلم . هل لدينا أي
55:40أسئلة أخرى ؟ لأنني
55:42أريد أن أخبركم بشيء
55:44آخر . هل من أسئلة ؟ مرة
55:52واحدة ، هل من أسئلة ؟
55:54مرتين ، هل من أسئلة ؟
55:56هيا يا شباب ، اسألوا
55:58لأن الواجبات العملية
56:01، حتى متى سأقوم
56:02بتصحيحها ؟ يعني ، إذا
56:05أرسلتموها لي حتى غداً
56:10، يا شباب ، لن أقبل
56:12أكثر من ذلك ، بعدها
56:13سننتقل للمرحلة
56:14التالية ، حسناً ؟ لا ،
56:17>> كم مدة الاختبار يا
56:19أستاذ ؟
56:20>> ساعة واحدة .
56:22>> حسناً . حسناً .
56:24>> لكن هل نبدأ في
56:25السادسة والنصف ، أم
56:26السابعة ؟ هذا هو .
56:28حسناً ، إذا لم يكن
56:29لديكم أسئلة أخرى ،
56:31سأخبركم الآن ، في
56:32الواقع لدي بعض الأمور
56:34لأقولها لكم . لا أعلم
56:36إن كان لدى أحد أسئلة
56:38أخرى ، وإلا سأبدأ في
56:39شرح كيفية المتابعة .
56:44آه ، نعم ، الفكرة هي
56:48السادسة وخمس وأربعون
56:50دقيقة يا شباب . نبدأ
56:52بشكل جيد . حاولوا أن
56:56تكونوا متواجدين
56:58السادسة والنصف ، وفي
56:59السادسة وخمس وأربعين
57:01دقيقة يجب أن نجلس
57:03ونبدأ . جيد ، ساعة
57:06واحدة تكفي تماماً
57:08للاختبار . جيد . آه ، كيف
57:15سنكمل بعد ذلك ؟ اليوم ،
57:20اليوم علمت أن يوم 9
57:22نوفمبر هو عطلة رسمية .
57:26إذن يا شباب ، بدأت
57:28فترات الحصص تتقلص ،
57:30وعلاوة على ذلك يوم 9
57:32هو يوم إثنين ، لذا ،
57:34وبعدها سنواجه عطلة
57:36أخرى في أكتوبر ، لذا
57:38أنا في حالة تقليص
57:40مستمر لـ لأيام
57:46الإثنين . حسناً ، بل
57:48أكثر من ذلك ، لدي
57:53عطلتان ، وهذه الأخيرة
57:55لم تكن بالحسبان ، مما
57:57يعني أنه سيتعين علينا
57:59تكثيف العمل يومي
58:00أربعاء بالتأكيد .
58:04حسناً ، خاصة فيما
58:06يتعلق بجزء الأتمتة ،
58:08لأنني أريدكم لاحقاً
58:10أن تعرضوا آخر عمل
58:12تطبيقي ، لنراجعه معاً .
58:16سيكون هذا حالة
58:17استثنائية لأننا لن
58:19نتمكن من إكمال الوقت ،
58:21لكني أريدكم أن تعرضوه
58:23بشكل جيد . لذا ، يوم
58:28الإثنين القادم
58:30سأعطيكم القليل من
58:37سنرى كيف نتكيف مع
58:39الأمر ، لكن من المؤكد
58:41أننا سنستغل يوم
58:42الإثنين والأربعاء
58:44القادم للتقدم في
58:45العمل . حسناً ، سأخبركم
58:52لاحقاً كيف سنكمل يوم
58:54الإثنين القادم ،
58:55حسناً ، مع الجزء
58:57الثاني . حسناً يا شباب
58:59، هل هناك أي أسئلة أو
59:01استفسارات ؟ أليس
59:03لديكم المزيد من
59:05الأسئلة ؟ هل كل شيء
59:06واضح ؟ لا أحد لديه
59:20سؤال ؟ لقد قمت لكم
59:24بمراجعة عامة . إيه ،
59:30حسناً ، هذا كل ما لدي
59:32يا شباب . نراكم يوم
59:34الأربعاء . دانييل
59:36دوران . نعم ، كلاوديو ،
59:40أردت أن أسألك عن
59:42حالات الاختبار ، إلى
59:43أي مستوى من التفصيل
59:45يجب أن نصل ؟ على سبيل
59:47المثال ، هل يجب تفصيل
59:49الخطوات ، وهل هي من
59:50النوع الإيجابي ؟ هل
59:53تتحدث عن العمل
59:54التطبيقي ؟
59:55>> لا ، لا ، عن الجزء
59:56الخاص بالامتحان
59:58الجزئي ، على سبيل
59:59المثال ، إذا طُلب منا
1:00:01كتابة حالات الاختبار
1:00:03، هل يجب كتابتها
1:00:04كنموذج جدول ، مثلاً
1:00:09مثل إكسل بكل أجزائه ،
1:00:11أم مجرد وصف فقط ؟
1:00:14>> يجب ممارستها في ، في
1:00:16هذا الجزء الثاني نعم
1:00:18يجب القيام بذلك ، لكن
1:00:20في الأول لا . ليس
1:00:22ضرورياً ذلك .
1:00:24>> حسناً ،
1:00:26>> لكن في الثاني نعم ،
1:00:28أريد أن أستبق الأحداث
1:00:30وأخبرك ، لأن الامتحان
1:00:31الثاني سيكون تمريناً
1:00:33مشابهاً للعمل
1:00:34التطبيقي الثالث . هل
1:00:38هذا مفهوم ؟ بالنسبة
1:00:40للامتحان الجزئي
1:00:41الثاني ، الجزء العملي
1:00:43هو تمرين كهذا . حسناً ،
1:00:45>> حسناً ، حسناً ، حسناً .
1:00:47نعم ، لأنني رأيتها
1:00:49مكتوبة بكل أجزائها ،
1:00:51ولكن كلما ذكرنا حالات
1:00:53الاختبار كنا نتحدث
1:00:55عنها كوصف فقط .
1:00:57>> حسناً .
1:01:00>> هل هناك أي شخص آخر يا
1:01:02شباب ؟ ماذا أيضاً ؟
1:01:10حسناً ، إذا لم يكن لدى
1:01:12أحد آخر أي سؤال ، إذاً
1:01:14يا أستاذ ، فقط للتأكد
1:01:16من فهمي الصحيح ، هل
1:01:18سيكون لدينا جزء نظري
1:01:20وجزء عملي يتضمن أسئلة
1:01:23اختيار من متعدد
1:01:24وأجزاء تحتاج إلى شرح ؟
1:01:28نعم ،
1:01:30>> يا شباب ، أنا سأقلق
1:01:32بدلاً من السؤال عن
1:01:36الاختبار ، هل الباقي
1:01:38يأتي لاحقاً ؟
1:01:43>> يجب أن نختبر كل
1:01:44الأسئلة يا أستاذ . قد
1:01:46يحدث خطأ ما .
1:01:50>> حسناً . حسناً يا شباب ،
1:01:54إذا لم تكن لديكم
1:01:56أسئلة أخرى ، إذا أردتم
1:01:58إرسال العمل العملي ،
1:02:00فأرسلوه لي . أكرر لكم ،
1:02:02بالنسبة للمشروع
1:02:04الثالث عليكم التركيز
1:02:05، لأنكم ستجدون صعوبة
1:02:07فيه إن لم تنجزوا
1:02:09المشروع الثاني . حسناً
1:02:20. هل من شيء آخر يا شباب
1:02:25؟ إذا لم يكن ، سأترككم
1:02:32حسناً . نراكم .
1:02:34>> وداعاً . تصبحون على
1:02:35خير . وداعاً . وداعاً .
1:02:37>> حسناً جداً . إلى
1:02:38اللقاء .
1:02:38>> نلتقي يوم الأربعاء .
1:02:39وداعاً . وداعاً .
1:02:41>> عذراً يا أستاذ . سؤال .
1:02:42لقد تهت قليلاً . لا
1:02:44أعرف إذا كنت قد ذكرت
1:02:44وقت يوم الأربعاء . هل
1:02:45كان السادسة والنصف أم
1:02:46السابعة ؟
1:02:47>> في السادسة والنصف .
1:02:48>> رائع . شكراً جزيلاً .
1:02:50حسناً ، إلى اللقاء .