1.1 What is Software testing ؟

Mohamed Abdelhyمنذ 3 سنوات

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

انا بتأسف ان الدرس دا بالعاميه المصريه وجارى تعديله

Contact Me : 01033466109

أهلا بكم مره ثانيه , فى هذا الدرس سوف نتعلم ما هو الـ Software Testing  لكن قبل ما نبدأ هيا نتعرف اولا ما هو الـ Software.

الـــ Software :  فيه تعريفات كتير للــ Software لكن  اسهلهم انه عباره عن Application او Programe مكتوب او مصنوع بإحدى لغات البرمجه لتحقيق هدف معين او لحل مشكله ما .

ياعنى مثلا تطبيق الفيس بوك هو عباره عن Software مكتوب بلغات برمجه زى PHP و Python والهدف من الفيس بوك هو حل مشكلة التواصل بين الناس.

 

نيجى باه تانى لتعريف الــ Software Testing :  تعريف الـ Testing بيختلف باختلاف الهدف منه , فمثلا ممكن نقول

ان الـ Testing  هو عملية ايجاد الاخطاء فى الـ Software 

او ان الـ Testing هو عملية التحقق ان الـ Software بيعمل الهدف اللى اتصنع عشانه

وممكن تعريف تالت ان الـ Testing هو عملية  زيادة وقياس جودة الـ Software .

عشان نفهم معنى الـ Testing اكتر لازم تعرف اى هى اهداف الـ Testing وعن طريقها هيكون عندك إدراك كامل بمعنى الـ Testing ومش مجرد تعريف عابر.

 

K1 :: الاهداف "Objectives of Testing" :  طبقا لمنهج ISTQB  فيه 6 اهداف للـ Testing  ودا مش معناه ان مفيش اهداف غيرهم لكن مفيش مشروع هتش

تغل عليه بدون ما تلاقي هدف من الاهداف دى موجود فيه , لكن بما اننا بنشرح منهج ISTQB هنلتزم بالموجود فى المنهج .

 

  • To prevent defects by evaluate work products such as requirements, user stories, design, and code

منع الخطاء من انها تحصل اصلا فى الـ Software , ودا عن طريق مراجعة متطلبات العميل والتصميم والكود اللى كتبه المطور  واكتشاف المشاكل بدرى قبل ما الـ Software يتعمل اصلا وتصليح المشاكل هنا بيكون رخيص جدا مقارنتا بإنى الاقي مشاكل  بعد ما الـ Software يطلع

 

  • To verify whether all specified requirements have been fulfilled

هنا  بتأكد من ان كل المتطلبات بتاعة الـ Software تحققت , زى  مثلا ان يكون فيه Software من المتطلبات بتاعته يدعم اللغه العربيه والانجليزيه فأنا بتحقق من انه فعلا بيدعم اللغتين دول ومش بيدعم واحده منهم فقط .

 

  • To check whether the test object is complete and validate if it works as the users and other stakeholders expect

التحقق من ان الـ Software  تم الانتهاء منه فعلا وانه يعمل كما يتوقع اصحاب العمل والمستخدمين النهائيين له.

 

  • To build confidence in the level of quality of the test object

 اكتساب الثقه فى جودة الـ Software  عن طريق انى الاقي اخطاء واحلها وبكدا جودة السوفتوير تعلى وتعلى معاها الثقه فيه.

 

  • To find defects and failures thus reduce the level of risk of inadequate software quality

ايجاد الاخطاء فى الـ Software .

 

  • To provide sufficient information to stakeholders to allow them to make informed decisions, especially regarding the level of quality of the test object

تقديم المعلومات اللازمه لصناع القرار , زى مثلا هل الـ Software جاهز , طيب معظم المشاكل متركزه فى جزء معين , عدد الـ defect اللى لقيناها .

 

  • To comply with contractual, legal, or regulatory requirements or standards, and/or to verify the test object’s compliance with such requirements or standards

 التحقق من المعايير التعاقديه او القانونيه , وهى متطلبات قانونيه بيتم الاتفاق عليها قبل الشروع فى العمل ولازم تكون متحققه فى الـ Software


ملحوظه : الـ Testing ممكن يكون له اكتر من  هدف  والاهداف دى بتتغير بتغير نوع الـ Software و الـ Test level اللي انا فيها و Test type اللى بستخدمه

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

 

 k2 :: الفرق بين Testing and Debugging : 

 

فى الـ Dynamic Testing انا بلاقي الـ Defect فى الـ Software  وببلغ بيها الـ Developer .

 الـ Developer بياخد الـ Defect دى ويبدا يعملها debugging "يدور على اسباب المشكله ويحلها". وبعدين يرجعها للـ Tester يعملها Retest عشان يتأكد انها اتحلت

يعنى باختصار ..

الـ testing هى عملية ايجاد الـ Defect عن طريق الـtester 

اما الـ debugging هى عملية اصلاح الـ defect عت طريق الـ developer

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

 

بعض المفاهيم الخاطئه عن الـ Testing : 

1)  أنه يتكون فقط من إجراء الاختبارات او أي عمل Execution الـ Test Cases والتحقق من النتائج , لكن الـ Testing بيتكون من Process تنيه كتير غير  عمليه الـ Execution   ومنها 

test planning,

Test Analyzing,

Test Designing,

Test Implementation,

Test Execution,

Evauate Exit Criteria

Test Clousure

مش تقلق لان الـ Process دى هتتشرح بالتفصيل بعد كدا , ومش تقلق لو فيه مصطلح معرفتش معناه وحده وحده الدنيا هتوضح

2) اما بعمل Testing للـ Software عن طريق انى بعمل Execution ,  هنا الـ Testing بيكون اسمه Dynamic Testing

ومش كل الـ Testing لازم اعمل Execution للـ Software , فىه نوع تانى للـ Testing اسمه Static Testing وفى النوع دا مش بعمل Execution خالص لا انا بعمل مراجعه او Review على الـ Test bases او الـ Code

الـ test bases هى اى resources   للـ System  او  الـ Software  اللى  هشتغل عليه   " اى حاجه فيها معلومات عن السيستم "

 

 

المصادر والمراجع

النهاية
لاتنسى تتبع الدورة لإشعارك عندما يتم التعديل على المتحوى او اضافة المزيد. ايضاً لاتنسى الاعجاب بها ومشاركتها مع الاخرين لتعم الفائد

المحاضر

Mohamed Abdelhy

محتوى الدورة

.مقدمه عن الدوره
1 ? What is ISTQB
2 let's start
.Chapter 1. Fundamentals of testing
1 1.1 What is Software testing ؟ الدرس الحالي
2 1.2 Why is Testing Necessary ؟

الكلمات الدليلية

عن الدرس

0 إعجاب
2 متابع
0 مشاركة
5764 مشاهدات
منذ 3 سنوات

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !