الكل يحرص على أن يكون برنامجه عالي الجودة وبدون أخطاء #Bugs، فهل تعرف ما هو الفرق بين التحكم بالجودة Quality Control وضمان الجودة Quality Assurance في صناعة وهندسة البرمجيات؟
#هندسة_البرمجيات #جودة_البرمجيات
#هندسة_البرمجيات #جودة_البرمجيات
ما شاء الله عدد ممتاز من الاجابات الصحيحة. باختصار: ضمان الجودة QA هو الاجراءات والمعايير التي تستخدمها لضمان جودة البرنامج. مثلا يكون عندك اجراء انه لازم تختبر كل نسخة جديدة من البرنامج بالكامل حتى لو كان التغيير بسيط. غيرك يقول راح اختبر فقط الجزء الجديد وأهم الأجزاء الحالية.
التحكم بالجودة QC هو عملية الاختبار نفسها والأنشطة التي يتم عملها لاكتشاف الأخطاء البرمجية. مثلا عملية اختبار تسجيل الدخول في برنامجك والتأكد من انه يعمل بشكل سليم هي ضمن التحكم بالجودة.
دايما يتم الخلط بين الثنتين ولكن بالنظر للمثالين السابقين واضح لك انه فيه شخص - ويكون غالبا مستوى اداري أعلى - يقوم بوضع الإجراءات ويقرر كيف نختبر البرنامج. هذا الشخص يمارس عملية ضمان الجودة. بالمقابل فيه شخص ماسك البرنامج وجالس يختبر ويعطي تقارير أخطاء فهذا يمارس التحكم بالجودة
يعد ضمان الجودة هو المظلة لإدارة جودة البرنامج ويندرج تحته التحكم بالجودة. نلاحظ أنه يغلب على ضمان الجودة الجانب الإداري في وضع الاجراءات واختيار منهجيات الاختبار بينما يغلب على التحكم بالجودة الجانب التقني في وضع حالات الاختبار Test Cases ومن ثم تجربتها ورفع التقارير للادارة
البعض ذكر أن ضمان الجودة يهتم بمنع الأخطاء بينما التحكم بالجودة يهتم باكتشافها وهذا صحيح ونتاج طبيعي للتعريف الأوضح والأشمل الذي ذكرته لكم حيث أن وضع الاجراءات والمعايير يهدف إلى منع الأخطاء قدر الإمكان بينما الاختبارات - والتي تتم تبعا لإجراءات ضمان الجودة - تهتم باكتشاف الأخطاء
نختم بأن هذا الموضوع لا يخص صناعة وهندسة البرمجيات لوحدها وإنما استعارته هذه الصناعة من تجارب سابقة في الصناعات الأخرى. لذلك من المهم أن تتعمق في فهم أنواع الاجراءات المختلفة لل QA في صناعة البرمجيات وتعرف الميزات والعيوب لكل منها وكذلك التقنيات المختلفة لل QC التي يتم استخدامها
جاري تحميل الاقتراحات...