# Testing Workshops session2

https://www.youtube.com/watch?v=A5ewKMpWaeY
Translation: en

[00:03] مساء الخير يا شباب.
  Good evening, guys.

[00:05] تاني سشن معانا من الور بتاعتنا.
  This is our second session from our workshop.

[00:09] أولن كانت معانا عن السوفت وير وعرفنا الفرق بين دي.
  The first one was about software, and we learned the difference between these.

[00:18] بعنوان هنتكلم فيه عنب ناخ ونفهم أول جزء معانا هو يعني التست ليفل.
  In this title, we will talk about and understand the first part with us, which is what test levels mean.

[00:30] دي مجموعة من الأكتيفيتي بعملها وأنا شغالة في السوفت وير تست لايف سايكل بتاعتي.
  This is a group of activities I do while working on my software test life cycle.

[00:36] طب ليه بعملها أصلاً؟
  So why do I do it in the first place?

[00:40] عشان أقسم أكتيفيتي بتاعتي ليفل، وكل لما ميك شور منه إني أنا عملتله تست بشكل كويس لما أدخل في الليفل اللي بعده عدد البوكس هتقل معايا.
  To divide my activities into levels, and whenever I make sure that I have tested it well, when I move to the next level, the number of bugs will decrease for me.

[00:49] لكن لو تشتيت كل حاجة على بعض البوكس هتطلع كتير معايا.
  But if everything is scattered together, the bugs will come out a lot for me.

[00:52] فأنا هنا بحاول أريس بالسري وده المهم عندنا جداً في الآي إس تي كيو بي.
  So here I am trying to reduce the risk, and this is very important to us in the ISTQB.

[00:59] طيب إحنا عندنا في الفيرجن قبل دي في الآي إس تي كيو بي الفيرجن.
  Okay, we have in the version before this one in the ISTQB version.

[01:04] القديمه كان عندنا اليونت تست، والريشن تستين، والسيستم تستين.
  In the old days, we had unit testing, regression testing, and system testing.

[01:11] والكبت في الفيرن الجديده زودوا معانا حاجه اسمها سيستم انتجريشن تست.
  And in the new version, they added something called system integration test.

[01:13] هنبدا نتكلم على كل ليفل من الليفل اللي معانا دي ونبدا نشرحها بامبل ونفهم احنا بنعمل ايه في كل ليفل.
  We will start talking about each level we have, explain it with an example, and understand what we do at each level.

[01:22] اول ليفل معانا هو اليونت تست.
  The first level we have is the unit test.

[01:25] اليونت تست ده من معناها كده ان انا باخد يونت او كومبونت معينه وابدا اشتغل عليها لوحدها.
  Unit test, as the name implies, means I take a specific unit or component and start working on it alone.

[01:31] معروفه ليسمعها.
  It is known to those who hear it.

[01:35] يما على الكود بتاعه.
  Either on its code.

[01:41] لكن انا لو عايز اشتغل لوحدي اقدر اعمل هنا.
  But if I want to work alone, I can do it here.

[01:45] بدا كل لوحده.
  Start each one alone.

[01:56] وهخد م هو دي بالنسبه لي فلما اجي اعملها تست هنا.
  And I will take it, as it is for me, so when I come to test it here.

[02:06] ختار هوستون عندي هناها لوحدها ان هي شغاله لوحدها بشكل كويس.
  I chose Houston here by itself, that it is working by itself well.

[02:14] طيب انا خلاص خلصت الست بتاعي وعملتله فشن تمام كل حاجه تمام عندي.
  Okay, I have finished my test and validated it, everything is fine with me.

[02:22] هدا ادخل على اللي بعدهه.
  I will move on to the next one.

[02:28] اوان هنا اسمه ان انا عملت انتجريشن بين الكومبوننت فال كيتيا بتاعته ان انا اكون قفلت اليون تست بتاعتي او خلصتها.
  The point here is that I performed an integration between the components, and its criteria is that I have completed or finished my unit tests.

[02:41] فهكذا هبدا اعمل لهم انتجريشن مع بعض.
  So, I will start integrating them together.

[02:44] وهبدا اشوفهم لما يتعمل لهم انتجريشن مع بعض هيشتغلوا بشكل عامل ازاي في الامبل.
  And I will start to see how they will work together when they are integrated in the example.

[02:50] اللي كان معانا في الون تست كان معانا الاتو كورت في الاتو كارت بعد ما دخلت الايتم بتاعي وعملت ميك شور ان الايتم ادت سكسسي في الكارت بتاعتي.
  What we had in the unit test was the auto-cart; after I entered my item and made sure that the item was added successfully to my cart.

[03:00] هبدا اشوف لما اشتغل على التشيك اوت مع الكارت واعملهم انتجريشن مع بعض ايه اللي هيحصل.
  I will start to see what will happen when I work on the checkout with the cart and integrate them together.

[03:06] انا هنا لو عملت كده خلاص هبدا اعمل انتجريشن.
  If I do that here, I will then start the integration.

[03:08] كومبون تست مع بعض وهم كشيك اوت فلو عندي.
  Component tests together, and they are like a checkout flow I have.

[03:13] اي ايشوز في الرفيس دي او في الجزء ده هتبدا تصهر معايا.
  Any issues in this interface or in this part will start to appear to me.

[03:15] خلاص عملت انتجريشن لكل الكومبوننت.
  I have finished the integration for all the components.

[03:19] خدت كل الكبون وعملتها انتجريشن وعملت تست على الكومبوننت دي.
  I took all the components, integrated them, and performed tests on these components.

[03:24] هبدا ادخل ليفل اللي بعده وهو السيستم تست.
  I will start entering the next level, which is the system test.

[03:28] السيستم تستين عندنا يا شباب هنا معناها ان انا بتست السيستم كله مع بعض.
  System testing here for us, guys, means that I am testing the whole system together.

[03:33] ودايما معروف عندنا بالست او ان انا بتست السست.
  And it is always known to us as the test, or that I am testing the system.

[03:38] السست شغال مع بعض بشكل كويس.
  The system is working together well.

[03:42] فده يديني ان انا مش هينفع سستم الا لو كنت خلصت الجشن كون بتاعي وعملت ان كلون شغ مع بعض بشكل كويس.
  This tells me that I cannot do a system test unless I have finished my integration components and ensured that all components are working together well.

[03:52] هبدا ادخل عندي هنا في السست.
  I will start entering here into the system test.

[03:57] بداه شغال كويس.
  I started it, and it is working well.

[04:02] اخد بقى كلها مع بعضها كده اتست شغاله كويس.
  I will take them all together like this and test that they are working well.

[04:08] من بتاع عشان السستم بتاعي تمام وشغال كويس.
  From the one for my system to be fine and working well.

[04:14] خلصت السست ددخل على بعده.
  I finished the test, I will move on to the next one.

[04:19] السستم تست من اسمه ان انا عندي مختلفين.
  System test, by its name, means I have different ones.

[04:24] ط انا منيه حاجه وده حاجه جو نفس السيستم.
  I mean, this is one thing and that is another thing within the same system.

[04:31] انما السستم تست ده بست او سستم مالهمش علاقه مختلفين عن ببل بتاعنا بتاع الا هنا عندي بعد ما عملت بعد كده عملت في عندي الجزء بتاع النتت ده.
  But this system test, or system, they have no relation, they are different from our people, the ones here, I have, after I did, after that I did, I have the part of the integration test.

[04:50] في معظم مابيكونش سيست بيكونش معتي او مع سيستم تاني بقى ماي بوب مثلا فوري اي بنك البنوك اللي عندنا او مثلا فودافون او واتفر بقى ايه هي اليرد بارت.
  In most cases, it is not a system, it is not with me or with another system, like maybe Fawry, for example, any bank of the banks we have, or for example Vodafone, or whatever the third party is.

[05:09] اللي معانا فبدا اعمل تست الانتجريشن بتاع السيستم ده ميك شور ان انا لما اعمل انجريت السيستم بتاعي كومرس اب بتاعي مع السيرد بارتي ده هو شغال فعلا كويس ولا لا.
  With what we have, I start doing the integration test for this system to make sure that when I integrate my system, my commerce app, with this third party, it is actually working well or not.

[05:20] طيب هو انا الانتجريشن بس هيبقى على سيستم مثلا يمنت ده لا ممكن يكون عندي مثلا ابلكيشن موبايل.
  Okay, will the integration only be on a system like a payment one? No, I might have, for example, a mobile application.

[05:30] في شويه داتا بتضلي عشان ادخلها بدخلها مثلا مند او من داشبورد او اسمها ايه فادمن هو بيدخلها وتروح تر في الموبايل ابكيشن.
  There is some data that I need to enter; I enter it, for example, from a backend or from a dashboard, or whatever it's called, where an admin enters it and it goes to run in the mobile application.

[05:42] فهنا برضو حصل بينشن بض الان هنا عندي جزء خلصت.
  So here also an integration happened, and here I have finished a part.

[05:57] كلار ددخل على اخر مرحله عندي وهي الاكسبت تست.
  Clear, I will enter the last stage I have, which is the acceptance test.

[06:01] في الاكسبت تستن هنا انا بعمل التست ده عشان اميك شور او اتاكد ان الرمنت دي.
  In the acceptance test here, I do this test to make sure or verify that these requirements...

[06:11] هي اللي البزنس كان عايزها او الكلاينت كان عايزها.
  It is what the business wanted or the client wanted.

[06:14] او ان البزنس ده هو ده بميت الرمنت.
  Or that this business is what meets the requirement.

[06:17] الكلاينت كان دي بعملها امتى؟
  When do I do this for the client?

[06:20] بعملها بعد ماكون خلصت السيستم ببدا اتست السيستم بتاعي.
  I do it after I have finished the system and start testing my system.

[06:24] هل مطالب مني ان انا في الجزء ده اطلع بكس؟
  Am I required in this part to find bugs?

[06:26] لا طبعا انا هنا المفروض عملت كل فلز بتاعي مافيش بق تطلع معايا خالص.
  No, of course, I am supposed to have done all my flows here; no bugs should come up with me at all.

[06:31] انا هنا بتاكد بس ان السوفت وير بتاعي بميت ريكويرمنت بتاعه الستيك هولدر وال كلاينت بتاعي.
  I am just making sure here that my software meets the requirements of the stakeholder and my client.

[06:37] هنا ببدا اخد الجرين لاين والله هتبدا تطلع برودكشن ولا في حاجه بقى انت كنت فاهمها غلط فنرجع نعدل فيها.
  Here I start to get the green light, whether you will start going to production or if there is something you misunderstood so we go back and fix it.

[06:45] طيب عندي نوعين مشهورين جدا من الاكسب تستين وهما الالفا والبيتا.
  Okay, I have two very famous types of acceptance testing, which are Alpha and Beta.

[06:48] طب يعني ايه الفا ويعني ايه بيتا؟
  So what does Alpha mean and what does Beta mean?

[06:51] الالفا دي ان انا بعمل تست للسوفت وير بتاعي بس في الفنت بتاع الشركه جوه الشركه بعمل الفاست كده.
  Alpha is that I test my software, but in the company environment, inside the company, I do the test like that.

[07:02] طيب البيتا تست يعني ايه؟
  Okay, what does Beta testing mean?

[07:07] ان انا بنزل بيتا وبسيب هو يشتغل عليه ولو عنده اي فيدك هيرجع.
  That I release a beta and let him work on it, and if he has any feedback, he will return it.

[07:12] ليه تعال ناخد كده سريع اللي هو الاب هنلم فيرست ليفل بتاعتي كلها.
  Why don't we take a quick look at the app, we will gather all my first level.

[07:19] فانا عندي هنا فيرست ليفل اول حاجه عندي الكومبوننت وال هوستون تست كون لوحده.
  So I have here the first level, the first thing I have is the component and the unit test alone.

[07:26] اللي هو بعد كده هبدا اروح لليفل التاني اللي هو الانتجريشن.
  Which is after that, I will start going to the second level, which is the integration.

[07:32] انا خلاص خلصت بقى الكومبوننت تست بتاعي او تست بتاعي فبدا اعمل انتجريشن كونستريت بينيك اوت والور.
  I have already finished my component test or my test, so I start doing integration constraint between each other and the work.

[07:40] خلصت الجزء بتاع الانتجريشن كومبوننت تست ببدا اروح ليفل اللي بعده هو السيستم تست.
  I finished the integration component test part, I start going to the next level, which is the system test.

[07:47] وتست السيستم ان هو تمام من ليريك اوت لكل حاجه.
  And test the system that it is fine from layout to everything.

[07:53] خلاص السيستم تستد شغاله تمام روح مع هي خلصت الجزء ده خلاص وخلصت كل بتاعتي.
  Once the system test is working fine, go with it, I finished this part and finished all of mine.

[08:05] هبدا اطلع بتاعي واروح ل واشوف الدنيا.
  I will start to output mine and go to and see how things are.

[08:12] لشن دهان عندنا ان كل ل بيسلم الليفل اللي بع.
  Our approach is that every level hands over to the next level.

[08:20] فدايما هيبقى عندي ليفل اللي قبله يكون اتعمله تست سريعا كده.
  So I will always have the previous level tested quickly.

[08:25] بتاعتنا قلنا عندنا الست وه تست كل كونت او فيتش او مودي لوحدها.
  In our approach, we said we have unit tests, and we test every component, feature, or module on its own.

[08:30] بعد كده بعمل حاجه اسمها انتجريشن تست او البونش تست.
  After that, I do something called integration testing or component testing.

[08:33] ودي معناها ان انا بتست انتجريشن بين ك.
  And this means that I test the integration between components.

[08:37] بعد كده عندنا السيستم تست.
  After that, we have system testing.

[08:42] والسيستم تست ده انا بعمل سيستم كله ستول.
  And in this system test, I test the whole system installed.

[08:45] بعد كده عندنا الجشن سمشن ست ده.
  After that, we have the regression/submission test.

[08:50] وده معناه ان انا بتست السيستم بتاعي مع اكسترنال سيستم تاني او مع سستم.
  And this means that I test my system with another external system or with a system.

[09:00] انا خلاص عملت اللي فاتت دي كلها وبعد كده بشوف الاكب بتاعتي شكلها عامل ازاي.
  I have already done all of the previous steps, and after that, I see what my acceptance looks like.

[09:09] طيب خلينا نشوف بقى الجزء التاني السيشن بتاعنا وهو السوفت وير تست السوفت انواع.
  Okay, let's look at the second part of our session, which is software testing and the types of software testing.

[09:16] السوفت وير أول سؤال في أي إنترفيو.
  Software is the first question in any interview.

[09:20] محدش دايما الناس دايما بيكون في إجابات.
  No one, people always have answers.

[09:26] وأنت بتشرح مثلا فدخل في في الفيرجن القديمة من أي بي كانوا قايلين إن هما لا فانكشن.
  And while you are explaining, for example, regarding the old version of API, they said they are not functions.

[09:39] يعني ست أنا بتست بتست الفانكشن بتاعي فانكشن.
  Meaning, a test, I am testing, testing my function, a function.

[09:45] ست في بتاع السيست إن أنت حصل عندك أي إيا كان هو إيه.
  A test in the system, that you had any [issue], whatever it is.

[09:51] ويكن جا فهتعملي إمباكت في جزء معين أو صلحت بقايا فهتي إمباكت في جزء معين.
  And if it happened, it will cause an impact in a specific part, or if you fixed bugs, it will cause an impact in a specific part.

[10:00] فهنا ببدا أستخدم سريعا زي ما قلت حصل عندي أو تغير ما خلت عن أو.
  So here I start using it quickly as I said, I had [an issue] or a change that I didn't let go of, or...

[10:17] تصليح بعيد جديده في الا فيرن 4.
  A new remote fix in version 4.

[10:32] قاللك ان انت عندك لاته فانكشن فانكشن بوكس.
  He told you that you have three function boxes.

[10:35] احنا هنشرح الفانكشن فانكشن وبلاك بوكس تكنيك هشرحها في التكنيك بتاع الفانكشن زي ما قلنا هي وست.
  We will explain the function, function, and black box technique; I will explain it in the function technique as we said, it is a test.

[10:44] هناخد عندنا ازبل اللوج انا في اللوج هنا لوست فانكشن.
  We will take an example of the log; I am here in the log, a lost function.

[10:48] يبقى انا عندي اهم حاجه ان انا لما ادخل كريال بشكل معين يا اما تعملي لوج اما تعملي ما تعمليش لوج وتطلعي فشن الفانكشن بتاعتي فيها الجزء بتاع.
  So the most important thing I have is that when I enter a credential in a certain way, it either logs me in, or it doesn't log me in, and it brings out my function, the function that has the part of.

[11:15] [موسيقى].
  [Music].

[11:16] هي فاتح على.
  It is open on.

[11:20] معين.
  Specific.

[11:21] مختلفه بشكل كويس ولاون بقى بع مثلا هو ده في وضع معين هقى شغال ازاي عامل ازاي.
  It's different in a good way, and for example, in a certain situation, how would it be working and what would it look like?

[11:37] زي مثلا عندنا بستخدمه اكت فيشن عندي موشن عملت شكله عا از بشكل كويلا معين مختلف كويس.
  For example, we use it actively; I have a motion, I made its shape in a specific, good, different way.

[11:56] لا فورمنس تستين ده معظمنا تقريبا عارفه او عنده خلفيه عنه.
  Performance testing, most of us almost know it or have a background about it.

[12:02] البرفورمنس ان انا بشوف مثلا السيستم برفورم ازاي تحت عدد معين من اليوزر او في وجود عدد معين اليوزر لو بيستخدموه في نفس الوقت.
  Performance is that I see, for example, how the system performs under a certain number of users or in the presence of a certain number of users if they are using it at the same time.

[12:10] فور اابل مثلا لو انا عندي في البلاك فرايدي وعندي الا كومرس اب بتاعتي عندي في هابي اور.
  For example, if I have Black Friday and I have my e-commerce app, I have a happy hour.

[12:14] الهابي اور ده مثلا عندي خصم 80% على كل ايتم فمعظم الناس هتدخل في.
  This happy hour, for example, I have an 80% discount on every item, so most people will enter.

[12:20] الهابي اور ده فهيبقى عندي لود على السيستم.
  This happy hour will create a load on the system.

[12:22] فانا محتاج اشوف السيستم برفورم ازاي في الجزء بتاع اللود.
  So I need to see how the system performs during the load part.

[12:27] طب لو عدوا الجزء اللي انا كنت خلاص انا قلت ان السيستم عندي هيستحمل لحد 1000 يوزر مثلا في الدقيقه الواحده.
  Well, if they exceed the part that I had already determined, where I said my system would handle up to 1000 users, for example, per minute.

[12:31] لو عدينا بقى ال1000 يوزر هيحصل ريس على السيستم ده.
  If we exceed the 1000 users, a stress will occur on this system.

[12:37] اسمور بعد كده الرتي ان انا بشوف السيستم هو اصلا ولا لا السوفتوير بتاعه كويس.
  Furthermore, after that, the reliability is that I see if the system is actually good or not, and if its software is good.

[12:43] السكورتي تست بقى عندنا وهو ان انا منسم سكورتي بشوف السكورتي بتاعي بتاع السيستم وال سكيور ولا لا.
  Then we have security testing, which is where I perform security checks to see if my system's security is secure or not.

[12:49] حد هيقدر يعمله هاكين ولا لا.
  Will someone be able to hack it or not?

[12:52] حد هيقدر ياخد الداتا بتاعتي ولا لا.
  Will someone be able to take my data or not?

[12:54] ده بالنسبه لل فانكشن ريكاب سريعا كده.
  That is regarding the functional recap quickly.

[12:58] الفانكشن ده ان انا بوست بشتغل ازاي او السيستم ده انا تست في ايه.
  The function is how I work or what I test in this system.

[13:06] السست الفانش ممكن اخد عندي بتاعتي ممكن ادخل فيها التكن.
  In the functional system, I can take my own [data/inputs] and I can enter the token into it.

[13:12] خلينا نروح بقى لاهم جزء هوست سوفت تكنيك مهمه جدا جدا جدا يعني جدا جدا.
  Let's go to the most important part, which is the software technique, which is very, very, very important, I mean very, very.

[13:22] طيب السوفت تكنيك مهمه في ايه؟
  Okay, why are soft techniques important?

[13:26] خلينا نفترض كده ان انا هشتغل من غير سوفت.
  Let's assume I'm going to work without soft techniques.

[13:29] انا بدخل اجرب من الاخر.
  I'm just going in to experiment, in the end.

[13:34] انا مش عارف انا ست.
  I don't know what I'm testing.

[13:37] طب لو انا اشتغلت سوفت، حاجات كتير اول حاجه هستفاد ان انا كفر معظم بيعافر.
  But if I worked with soft techniques, many things—the first thing I'll benefit from is that I cover most of the struggle.

[13:50] تاني حاجه ان انا بقى عارف ان انا عندي كمست كيس اول ماشوف قدام لرف ازاي.
  The second thing is that I know I have a test case as soon as I see what's in front of me and how to handle it.

[13:59] طيب بتاعتي هقدر احط استم بشكل كويس ده نتعلمه في السيشن اللي جايه ان شاء الله.
  Okay, I will be able to set up my system well; we will learn this in the next session, God willing.

[14:04] فانا هنا استفادت كتير جدا.
  So I benefited a lot here.

[14:07] طيب هستفاد ايه تاني وانا بشتغل بالستين تكنيك؟
  Okay, what else will I benefit from while working with testing techniques?

[14:10] هيطلعلي كيسز ممكن يكون فيها جاب انالسز او البزنس مش عاملها كفرج.
  Cases will come up that might have a gap analysis or that the business hasn't covered.

[14:16] فهنا هبدا اريس فلاج يا جماعه خدوا بالكم الكيس دي مش متغطية هتعملوها ازاي؟
  So here I will start to raise a flag: 'Guys, pay attention, this case is not covered, how will you handle it?'

[14:22] فبدل ما يكون ديفلوبمنت يكون اشتغل وخلص شغل وانا بديزاين من البدايه استخدمت.
  So instead of development having worked and finished the job while I am designing, from the beginning, I used [them].

[14:25] تستن تكنيك معينه طلعتلي جاب انسس هنا.
  I tested a specific technique and it gave me a job analysis here.

[14:27] فعرفت ان الدخل فيب يشتغل عليها نفسنا الوقت.
  So I knew that the input works on it at the same time.

[14:37] فين القديمه كان عندنا لا كان عندنا عننا حاجه اس هو مش هتم.
  Where is the old one? We had, no, we had something, it is not important.

[14:59] انا بقى عندي معينه ل مع يرم الكود مكتوب ازاي ولا بيعمل.
  Now I have a specific [way] to deal with how the code is written or what it does.

[15:09] عايز مختلف.
  I want something different.

[15:15] بشتغل بتا بتا يشوفها هي شغاله بشكل معان قبل كده.
  I am working on it to see if it works in a specific way as before.

[15:29] مثال بسيط كده اللي هي زي الداتابيز عندنا.
  A simple example like the database we have.

[15:32] لما باجي اعمل لها تست بقى منها جزء ان انا بتست بالتكنيك بتاعتي مثلا بتاع البلاك بوكس شويه على الوايت بوكس شويه.
  When I test it, I test a part of it using my techniques, for example, a bit of black box and a bit of white box.

[15:39] وخلاص هم شالوها ما بقش بنستخدمها.
  They have already removed it and we no longer use it.

[15:41] اللي بستخدمه دلوقتي الاكسبيرس تكنيك كان جزء من البلاك بوكس.
  What I use now is the experience technique, which was part of the black box.

[15:44] الاكسبيرس تكنيك دي بتعتمد على الاكسبيرس بتاعتي سواء في البزنس او في التست.
  This experience technique depends on my experience, whether in business or in testing.

[15:52] انا دلوقتي عندي هبدا اخد جزء جزء من التست تكنيك ونبدا نشرح اول حاجه الوايت بوكس تستنج تكنيك.
  Now I will start taking the test techniques one by one, and we will start by explaining the white box testing technique first.

[15:59] وزي ما قلنا احنا مش بنستخدمه لان ده الدفلوبر هو اللي بيفوكس اكتر على الكود مش احنا.
  As we said, we don't use it because the developer is the one who focuses more on the code, not us.

[16:05] فانا عندي دلوقتي ده البوكس بتاعي اللي هو الكود.
  So now I have my box, which is the code.

[16:09] هبقى شايفه شايف كل حاجه جواه وهبدا ادخل انبوت واتست بيها الكود ده عشان تطلعلي اوبوت معين.
  I will be able to see it, see everything inside it, and I will start inputting data to test this code so it produces a specific output.

[16:18] انا هنا بتست الكود عندي نوعين هنتكلم عليهم في السيشن دي.
  Here I am testing the code; I have two types that we will talk about in this session.

[16:22] مش هنهتم بيه قوي لان زي ما قلت لكم احنا مش بنشتغله كتير يعني.
  We won't pay much attention to it because, as I told you, we don't work with it much.

[16:28] يعني بس عشان نبقى عارفينهم برضه.
  I mean, just so we are aware of them as well.

[16:30] فاهمهم، خلينا نتكلم أول حاجة عندنا كفر ك دي إن أنا بميك شور إن كل ستيتمنت عندي في الكود أتليست معمولها أكيوت مرة واحدة.
  Understanding them, let's talk first about what we have, which is coverage, meaning I make sure that every statement I have in the code is at least executed once.

[16:42] خلينا ناخد الإكزامبل ده إن أنا عندي لو دخلت إنتجر، والإنتجر ده 25، فـ 25 أكبر من 17، تبرنت جملة إن 25 أكبر من 17.
  Let's take this example: if I enter an integer, and this integer is 25, then 25 is greater than 17, it prints the sentence that 25 is greater than 17.

[16:51] طب لو دخلت إنتجر أو رقم هيكون مش أكبر من 17، لا، ارجع لي زي غير كده، ارجع لي زيرو.
  But if I enter an integer or a number that is not greater than 17, no, return to me otherwise, return to me zero.

[17:01] فأنا كده لازم أدخل رقمين، لازم أدخل 25، وأدخل رقم أقل من 17 عشان أشوف هو مثلاً هيطلع لي تو ستيتمنت وشت عليهم صح.
  So I have to enter two numbers; I must enter 25, and enter a number less than 17 to see if, for example, it will output two statements that I checked correctly.

[17:12] وتاني تكنيك معانا هو البرانش تستينج.
  And the second technique we have is branch testing.

[17:16] برانش تستينج ده أو تستينج إن أنا بيكون عندي أكتر من برانش في الكود.
  This branch testing, or testing, is where I have more than one branch in the code.

[17:21] فأكتر من برانش في الكود ده أنا لازم أعمل تست لكل برانش وميك شور إن أنا عملتله تست بشكل كويس عشان أبدأ أطلع الكود بتاعي.
  So for more than one branch in this code, I must test every branch and make sure that I have tested it well in order to start releasing my code.

[17:29] عندنا هنا أول برانش قالك.
  We have here the first branch that told you.

[17:32] لو أكبر من التاني أكبر من لازم ترب لازم تعملهم بشكل كويس.
  If it is bigger than the other, bigger than it should be, you must handle them well.

[17:44] ده بالنسبة للوا بوزي ما قلت أنا بستخدم معظم الوقت.
  This is regarding the white-box, as I said, I use it most of the time.

[17:49] هو مش بيستخدم، إحنا كده كده مش بنبص المهم بتاعنا.
  It is not used; we are not looking at our task anyway.

[17:59] إلا ده من اسمه إن أنت بتعتمد على الإكسبيرينس بتاعتك.
  Except for this one, as its name suggests, you rely on your experience.

[18:03] الإكسبيرينس بتاعتك دي ممكن تكون إكسبيرينس في النس أو إكسبيرينس في.
  This experience of yours could be experience in business or experience in...

[18:10] عندنا أول تست تكنيك هو الإكسبلوريتوري.
  We have our first test technique, which is exploratory.

[18:13] ده إن أنت من خلال الإكسبيرينس فأنت بتبقى عارف الإيشوز موجودة فين أو أنت هتلاقي بج فين.
  This is where, through experience, you know where the issues are or where you will find a bug.

[18:19] فأنت بتجيس هدخل المود بشكل معين هلاقي.
  So you guess, if I enter the mode in a certain way, I will find...

[18:23] زي مثلاً إن أنت عندك إكسبيرينس في أب.
  Like, for example, if you have experience in an app.

[18:27] فأنت عارف إن دايماً الدنيا تضرب معاك.
  Then you know that things will always crash on you.

[18:32] فيطلع ال أو أنت عارف مثلا إنك جا جديد.
  So the [user] comes out, or you know, for example, that you are new.

[18:37] مثلا عنده معين مش عارف إن معينة فتدخل تعملها تاني.
  For example, he has a specific [issue] and doesn't know a specific [thing], so you go in and do it again.

[18:49] معانا هو بعيد.
  With us, he is far.

[18:59] هبقى عارفة إن في فلو معين زي مثلا إن أنا سيرش على آيتم معين بعد كده هعمله أد كارت.
  I will know that there is a specific flow, like for example, that I search for a specific item, then I add it to the cart.

[19:04] بعد كده هقعد إنكريز وديكريز الآيتم ده.
  After that, I will keep increasing and decreasing this item.

[19:09] أو ممكن أعمل ريموف وأدخل آيتم تاني أو أعمله مثلا ديسكونت.
  Or I might do a remove and enter another item, or apply a discount to it, for example.

[19:14] دي تيست كيسز كده أنا لازم في كل آيتم.
  These are test cases that I must [perform] for every item.

[19:18] كورس أب هتست تيست كيسز معروفة مثلا لازم هتست مثلا أوكل مثلا بتاع موبايل أبلكيشن.
  In the course, you will test known test cases, for example, you must test, for example, the mobile application.

[19:26] أنا عارف إني هقوم ماسك تيست كيسز وأعمل لها أبلاي على السوفت وير اللي مع الجزء التاني وهو الجزء.
  I know that I will take test cases and apply them to the software that is with the second part, which is the part.

[19:34] الثالث، قصدي سوري، والاخير معانا في الاكسبيرس تست تكنيك هو الاكسبلور تست.
  The third, I mean sorry, and the last one with us in the experience test technique is the explore test.

[19:40] تستنج كده اسمها ان انا با اكسبلور، بدخل اكسبلور السيستم، بدخل استكشف السيستم، بقعد اجرب.
  It's a type of testing where I explore; I enter to explore the system, I enter to investigate the system, and I sit and experiment.

[19:46] انا معيش حد بقى يديني البزنس ولا حد يشرح بتاع ايه.
  I don't have anyone to give me the business logic or anyone to explain what it is.

[19:49] بدخل اجرب كده اشوف ان انا مثلا لو دخلت هنا مثلا 10 كراكتر هيعمل معايا ايه.
  I enter and experiment to see, for example, if I enter 10 characters here, what will it do with me?

[19:54] لو انا مثلا كنت عامل اد كورت معين وعملت باك، هل هيشيل ايتم الكارت ولا هيطلعلي خد بالك انت هتمسح الكارت كلها ولا هيرجع ويعمل سيف؟
  If I had, for example, added a specific cart item and clicked back, will it remove the cart item, or will it show me 'be careful, you will delete the whole cart', or will it go back and save?

[20:04] هو هيعمل ايه فبدا اكسبلور السيستم بف ازاي.
  What will it do? So I start exploring how the system behaves.

[20:07] ف سريعا كده ريكاب الاكسبيرس تكنيك امتى بنستخدمها؟
  So, quickly recapping the experience technique, when do we use it?

[20:12] بنستخدمها لما ما يكونش عندي بزنس واضح او ما يكونش عنديش دوكيومنتس او مافيش حد يديني جايدنس على البزنس ده.
  We use it when I don't have clear business logic, or I don't have documents, or there is no one to give me guidance on this business.

[20:21] او مثلا احنا مضغوطين في الوقت، فور بسرعه وبعدين نبقى نشوف.
  Or, for example, we are pressed for time, so we do it quickly and then we'll see later.

[20:26] عندنا اكن هما تلاته، انا ببدا من الاكسبيرس بتاعتي في البزنس ده ان الناس موجودة.
  We have, as if they are three, I start from my experience in this business that the people are present.

[20:34] فين الاكسبس بتاعتي ان انا عارفه ان في كي

[20:37] معينه او فيست عندي لازم امشي عليهها

[20:39] ابلاي على اي سوفت وير من النوع ده الجزء

[20:42] التال

[20:43] عندي انا

[20:45] باكور جيجي لاخر جزء واهم جزء وده احنا

[20:49] بنستخدمه بشكل ديي هو البلاك بوكس تست زي

[20:53] ما قلنا احنا بالنسبه لنا الكود هيبقى

[20:55] بلاك بوكس فبقى مهتميه بالبوت اللي بدخله

[20:58] تطلعلي او معين اللي هي الاكسبت ريزت بشكل

[21:00] مع اول جزء عندي ا تكنيك عندي هو الوندر ف

[21:04] ان او البي في اي الوندر val ان او البي

[21:08] في اي كده ان انا عندي باوندري عندي

[21:10] باوندري val كده متحدده او عندي متحدده في

[21:13] السيستم انا عارفه في ريكويرمنت اول ما

[21:16] بشوف ريكويرمنت كده مثلا هيجي يقوللك

[21:18] التكست فيلد ده اكسبت من 10 ل 20 كوركتر

[21:22] انت خلاص لقط ان انت عندك باوندري فانت

[21:25] هنا تستخدم البي في اي فتبدا تست الونيز

[21:28] بتاعتك

[21:30] معانا هنا قالك انت عندك من ل 255 فدي

[21:34] ازاي دايما

[21:38] فيبعد ال عندي

[21:41] هنا خلاص

[21:43] ع قلون ز مثلا ووا

[21:47] وقبل الون التانيه هي 24 والون 255 وبعد

[21:51] الون

[21:53] 26 طيب انا هنا

[21:56] عايزه مكن خ خليهم خم مني انا عندي تي في

[22:02] نفس الرينج اللي هماين اللي هو بعد الواحد

[22:06] وقبل 255 ممكن اخد كيس واحده ات بيه ان

[22:09] انا اجربها طب انا عايزه اك طيب اهم حاجه

[22:14] ارح عند

[22:16] الست فهنا انا تاني في ال بيكون عندي رين

[22:21] واضح اوون واضحه معروفه

[22:24] كده استخدم التكنيك

[22:27] ده تاني تكنيك معانا هو الافنت بارتيشن

[22:30] الافنت بارتشنين ده ان انا بيبقى عندي

[22:33] افنت بارتشنين باينه عندي في السيستم يعني

[22:37] فور اكزامبل مثلا انا

[22:40] مقسم ال كتجري انت مثلا لو انت في البنك

[22:44] مثلا سي انت حسابك مثلا بيدخله انكم برقم

[22:48] معين فانت في الكارد بتاعتك بلاتينم لو

[22:52] انت الانكم بتاعك بشكل معين فت الارتك

[22:54] هتبقى كولت وهكذا فانا هنا عندي بارتشنين

[22:57] واضحه

[22:59] الناس مقسم على اساسها

[23:02] في عن واح هو من 6 لان دايما بيكون عندي

[23:07] في

[23:11] النشن بتاعي و وقبل وبعد فدايما بيكون

[23:17] عندي

[23:21] حده اللي هي قبل الن

[23:27] بتاعي بتاعي انا عندي اول تست كيس انفد

[23:30] مثلا هتكون خم مثلا او من زخ اختار اي رقم

[23:33] انت عايزه طب التست كيس الفد من 6 ل 10 ان

[23:37] بتوين وهختار الرقم اللي انا

[23:40] عايزاه طيب التست كيس التالته والاخيره

[23:44] اللي هي الفد برض في الفد هتبقى من 11 ل

[23:48] 14 او 11 او 14 اوفر بقى تختار الرقم اللي

[23:51] انت فهنا الاف باختصار ان انا في بارتشن

[23:55] واضح ومحدد عندي طيب انا في

[24:18] الفره بعد

[24:22] وهير

[24:23] جون عنديل

[24:30] اسهل مثال بنشرح عليه

[24:33] وهو

[24:36] فيور لو دخلتهم بشكل معين هيطلعلي كل مره

[24:41] او مختلف تال كده الاول بتاع بتتكلم عن

[24:45] ايه انا بقى عندي كونديشن اللي هي بتاعتي

[24:49] وعندي اللي هي الر بتاعتي اخر لاين ده هو

[24:54] الا

[24:56] ده هعرف

[25:01] تتبقى عندي

[25:04] فيش

[25:05] ال مايان عندي هنا لو رحت قلت ددخل الرمط

[25:11] والط هيطلعلي بشكل لو

[25:15] دخلتم صح

[25:17] والباسور غلط

[25:19] هيطلع نفس الكلام في دخلت

[25:25] غلل الاخير ل دخلت صح هيعملي س ويخلي على

[25:30] الهوم بيج طيب انا عايز كيس كمان

[25:33] عشاني بتاعتها وحافظها وعارفين ان احنا

[25:36] هنروح نشيل تست كيس منهم

[25:39] عشان بتاعتي لان

[25:43] في لما

[25:45] احبست بشوف هي ل نفس

[25:48] الاستس

[25:50] واحده طيب عايز ازبل كمان يكون واضح اكتر

[25:53] في الا مثلا انا داخ اعمل فلتر او

[25:59] ماشي هختار كج هيطلعلي داتا معينه طب لو

[26:02] عملت فلتر

[26:04] بكج وسكشن مثلا معا هيطلعلي داتا تانيه طب

[26:08] ماشي لو عملت فلتر

[26:10] بكشن ودخلت سايز مختلفه تماما طب لو عملت

[26:16] بقى

[26:18] مثلا برينج كده مثلا

[26:21] برايس مختلفه تماما برض ف هنا كل ما بعمل

[26:25] كشن بين الب اللي عندي

[26:29] بيطلعلي فانا هنا

[26:32] بستخدم عشان

[26:35] عملها وانش حاجه منه في قانون ظريف

[26:41] كده

[26:43] عليها نعرف بتاعتنا سريعا وهي

[26:48] تورور بتعرف كده اول لما

[26:51] اشوف انا عندي هنا

[26:58] ده رم وباسورد فانا عندي انور عندي وانت

[27:03] بقى براحتك لازم اتليست ان انت مجرب كل

[27:06] اوت مختلف مره

[27:08] واحده طيب لو انا عملت مثلا كبشن لاكتر من

[27:14] وطلع معي تست كيس كبير ويك مست كيس انا

[27:19] هعمل ايه هل هكتب كل التست كيس دي لو معك

[27:23] وقت معكش وست كيس هتقول فيها

[27:33] فاني سريعا كده امتى نستخدم لما بيكون

[27:37] عندي

[27:39] بطلعت اخر معان

[27:43] وهو من اسمه ان عندي بتنقل من ل بعمل معين

[27:50] اشن

[27:53] معين المثال الشهير معان فيما

[27:58] ام تست كي اي تي ام تست كيس لو انت دخلت

[28:02] الاكونت كارد البانك كارد بتاعتك مثلا

[28:04] الكارد بتاعتك في الاي تي ام غير ما تدخل

[28:06] الباسورد فانت بالنسبه لها اند يوزر او

[28:09] جست ي دخلت الد باسورد فانت خلاص كده تق

[28:13] تعمل اي ترانز اكشن واي اكشنز براحتك

[28:15] وتاكس الكارد بتاعتك براحتك طيب انكيس ان

[28:19] انا دخلت الباسورد بعدد معين غلط او بعدد

[28:22] مرات معينه غلط في اللحظه دي لا ممكن

[28:25] يحصلها بلوك ب احنا قلنا جمله حلوه قو ده

[28:28] ان انا دخلت عدد معين غ عدد معين ده ان

[28:32] عندي رينج هيقوللك مثلا مسمعك تدخل الكارد

[28:36] بتاعتك لات مرات او لك لات محولات المحوله

[28:39] التالته بعد المحوله التاله بلوك الكارد

[28:41] ده فانت محتاج ب هنا تروح تدخل تعمل

[28:43] كومبينيشن بين اتنين تستن تكنيك وتشوف

[28:47] التست كيس بتاعتك التست الستيت بعتك لما

[28:50] بتنقل من حاجه لحاجه وتست هو فعلا لو

[28:53] عملتلها لا تست كيس الوني فو هتشتغل معايا

[28:57] صح ولا خ ف هتست في اول مره مثلا لو انت

[29:00] عندك اول مرحله واحد ما دخلتها سمحي دخلها

[29:05] مره تانيه صح دخلني خليني اترا كمان مره

[29:07] ادخل الباس في المره التانيه عملت تراي

[29:10] تمام سمحلي كمان المره التالته المره

[29:12] التالثه المفروض يعملي بلوك بعدها لما اجي

[29:15] اكرب في المره الرابعه اصلا المفروض ما

[29:17] يدخلني ما يعملي نافيجيشن

[29:20] على السكرين بتاع الباسورد المفروض يطلعلي

[29:23] مسج مثلا ويكن هو ارجع للسبورت سيستم او

[29:25] ارجع للبنك او او انت خلاص عمللك بلوك

[29:28] وكده نكون خلصنا التست تكنيك بتاعتنا

[29:32] تكنيك كده هو اسمه اليو كيس واليو كيس ده

[29:35] احنا بستخدمه على اي نوع معين من مش شرط

[29:39] حاجات اي نوع معين منمشي عليه فبيكون عندي

[29:42] السيستم والكتور راكشن اللي رايحه جايه

[29:46] اليو كيس ممكن يكون بيستخدمها البزنس اكتر

[29:50] مننا لكن احنا

[29:52] الاربعه البلاك بوكسم عليهم دول هم دول

[29:54] اكتر حاجات احنا

[29:56] بنستخدم خلينا ريكاب سريع كده احنا اكلم

[29:59] في ايه في السيشن دي خلينا نرجع

[30:03] كدهم النهارده معاكم عن التست ليفل وعرفنا

[30:07] ايه التست ليفل اللي معانا وعرفنا امتى

[30:09] بننقل منست ليفل وبعد كده اتكلمنا عن

[30:12] التست تايب وعرفنا تست طيب ايه هي وبعد

[30:15] كده اتكلمنا عن التستنج تكنيك وعرفنا كل

[30:18] تستج تكنيك بنستخدمها امتى وازاي ان شاء

[30:21] الله السيشن اللي جايه هتكون مع باشمهندسه

[30:25] راني هتتكلم معاكم فيها اكتر عن

[30:29] الريفيو بتاع ريكويرمنت اسار اس وازاي

[30:32] نطلع تست كيس وازاي نعمل جا وان شاء الله

[30:35] نشوفكم في السيشن الجايه هتبقى يوم

[30:37] الاربعا القادم وان شاء الله كل اربعا

[30:39] هيكون معانا السيشن شكرا جدا ليكم وقتكم
