التطبيقات والبرامج

11 شيئًا يجب معرفته عن ضمان جودة البرامج (SQA)

11 شيئًا يجب معرفته عن ضمان جودة البرامج (SQA)



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

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

إليكم السبب.

ما هو ضمان الجودة في تطوير البرمجيات؟

SQA ، اختصارًا لضمان جودة البرامج ، هي عملية التحليل النقدي والحفاظ على المتطلبات المحددة لتطوير منتجات موثوقة ، مثل البرامج. يشتمل نظام SQA المصمم جيدًا على جميع عمليات تطوير البرامج ، بدءًا من تحديد المتطلبات إلى الترميز والاختبار وجميع العمليات الأخرى بينهما ، قبل الإصدار.

وتجدر الإشارة إلى أن الهدف الأساسي لـ SQA هو ضمان الجودة فوق كل شيء.

يمكن أن يكون هذا لوضع معايير خارجية ، من هيئة مثل المنظمة الدولية للتوحيد القياسي (ISO) ، ولكن يمكن أيضًا تطبيقها على المعايير الداخلية ، وكذلك المعايير المحددة في الصناعة.

هذه العملية مهمة للغاية للحفاظ على مصداقية الشركة في المجال المختار ، بالإضافة إلى تعزيز ثقة العملاء في منتجاتهم. كما أنه يساعد على تحسين كفاءة سير العمل وغالبًا ما يقدم ميزة تنافسية حقيقية على المنافسين الأقل اهتمامًا بضمان الجودة.

بالنسبة للعديد من معايير ISO ، يمكن للشركة أن تسعى للحصول على اعتماد من قبل شركة تدقيق خارجية. يوفر هذا للمنظمة اعتمادًا رسميًا من مدقق خارجي يسمح لها بإثبات امتثالها لهذه المعايير.

ذات صلة: 15 لمعة برنامج مضحكة ستضحك عليها

ومن الأمثلة الشائعة على ذلك سلسلة ISO / IEC 9000 التي تسعى العديد من الشركات من أجل الإعلان عن أن إجراءات ضمان الجودة "مناسبة للغرض". ستحاول الشركات الحصول على الاعتماد في المعايير ذات الصلة ضمن السلسلة الأكثر قابلية للتطبيق على أنشطتها ومنتجاتها.

ضمان جودة تطوير البرمجيات ، كعملية رسمية ، يمكن أن يعود بجذوره إلى الصناعة التحويلية. منذ ذلك الحين تم تبنيها من قبل العديد من الصناعات الأخرى حول العالم.

تم تصميم أي عملية لضمان الجودة ، كما هو الحال في تطوير البرمجيات ، لضمان أن المنتج النهائي يتماشى مع متطلبات العميل وتوقعاته. يعمل المحترفون في هذا القطاع على أجزاء التطوير والتنفيذ للعملية طوال دورة حياة تطوير برنامج معين.

إنها ، بطبيعتها ، عملية استباقية تركز على تطوير العملية ، واكتشاف / تصحيح / منع الخلل ، والتحسين المستمر.

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

يميل مختبرو البرامج إلى تطبيق أنظمة اختبار صارمة من أجل التخلص من أي اختلافات من المتطلبات المحددة ، أو العيوب ("الأخطاء") التي يجب تسويتها قبل إصدار المنتج.

اختبار البرمجيات ، في الواقع ، مجرد ترس واحد في عجلة ضمان جودة البرامج ، وليس العملية برمتها. على سبيل المثال ، عادةً ما يكتشف الاختبار المشكلات فقط ، ولا يحلها أو يصلحها - على عكس متخصصي ضمان الجودة في البرامج.

يمكنك تشبيهه بالفرق بين ضمان الجودة ومراقبة الجودة. هذا الأخير هو أكثر من أداة تصحيحية موجهة نحو المنتج ورد الفعل. الغرض الأول هو أن يكون استباقيًا وموجهاً نحو العمليات ويهدف إلى تحديد معايير مراقبة الجودة. بمعنى آخر ، سؤال وجواب هو الجنرال ، ومراقبة الجودة هي القوات.

سيقوم متخصصو ضمان جودة البرمجيات بإدارة وتتبع وتقييم العملية بأكملها ، من المهد إلى اللحد ، من خلال عملية محددة وموحدة. من الناحية النظرية ، يساعد هذا في تحديد الفواق في عملية التصميم ، لتمكين إجراءات التحسين التي يمكن أن تجعل العملية أكثر بساطة في المستقبل.

من خلال تقييم صارم وصادق لجميع أجزاء عملية تصميم البرنامج ، يمكن لشركة التطوير أن تؤكد لعملائها أن جميع الإجراءات المعقولة قد تم اتخاذها للتأكد من أن منتجاتهم بأعلى جودة ممكنة.

لماذا يتطلب تطوير البرمجيات ضمان الجودة؟

كما ذكرنا سابقًا ، يعد SQA مكونًا مهمًا في عملية تطوير العديد من المنتجات ، بما في ذلك البرامج. تساعد عملية ضمان الجودة في تطوير البرمجيات الشركات على إنشاء منتجات وخدمات تلبي ، على الأقل ، توقعات ومتطلبات عملائها.

من خلال إنشاء أساليب وإجراءات تتبع المعايير الدولية أو المحددة في الصناعة رسميًا ، يجب أن تكون عمليات ضمان الجودة قادرة على اكتشاف العيوب وتصحيحها قبل أن تصبح مشكلة خطيرة.

"اعتمادًا على حجم المؤسسة ، يمكن أن تشتمل عملية ضمان الجودة على مهام فرعية مختلفة. وفي جوهرها ، تخلق عملية ضمان الجودة إمكانية تسليم جودة محددة. نظرًا لأن متطلبات البرامج تتغير باستمرار وتضيف الفرق أهدافًا جديدة ، يحتاج فريق ضمان الجودة إلى التأكد من ذلك لن تؤثر الأهداف أو المتطلبات المضافة حديثًا على جودة البرنامج سلبًا. " - متوسط.

لهذا السبب ، يحتاج أعضاء فريق ضمان الجودة إلى مجموعة مهارات مختلفة إلى حد ما عن تلك الخاصة بمطوري البرمجيات. يميل ضمان الجودة إلى طلب أفراد منضبطين ومحبين للتكرار ولا يقبلون أن عدم العثور على أخطاء يعني أن المنتج لا تشوبه شائبة.

يحتاج موظفو ضمان الجودة أيضًا إلى الثقة الكافية والثقة بالنفس والقدرة على التفكير الإبداعي في جميع الأوقات. سيتعرف أفضل المتخصصين في ضمان الجودة على الفروق الدقيقة للتطبيق بأكمله قيد التطوير ، ويجب أن يكونوا فعالين للغاية في ما يفعلونه. على الرغم من أن أنظمة ضمان الجودة جيدة التصميم يجب أن تجعل العملية سلسة بقدر الإمكان.

محترفو ضمان الجودة في تطوير البرمجيات هم أيضًا مثيرون للجدل بطبيعتهم ، مما قد يثير غضب المطورين في كثير من الأحيان. ومع ذلك ، على الجانب الآخر ، فإنه يبقيهم في وضع مستقيم وضيق دون الحاجة إلى إدارة دقيقة.

هناك اعتقاد متزايد في الصناعة بأن المطورين ربما يكونون في وضع أفضل لتقديم ضمان الجودة للبرامج التي طوروها. ومع ذلك ، يمكن أن يكون هذا نوعًا من الاقتصاد الخاطئ. مثل أي دور إبداعي ، في أي صناعة ، قد يكون من الصعب أحيانًا إجراء تقييم نقدي لشيء أنشأته بنفسك.

غالبًا ما يركز مطورو البرامج ، بعبارة أخرى ، على التفاصيل الدقيقة لمعرفة التأثير على الصورة الأكبر - المنتج النهائي للبرنامج.

يمكن إجراء عملية ضمان جودة تطوير البرامج ، بما في ذلك الاختبار ، إما بواسطة فرد متخصص أو فريق صغير ؛ ويتم إنجازه إما داخليًا أو الاستعانة بمصادر خارجية لكيانات مستقلة. للحصول على أفضل النتائج ، يجب أن تعمل فرق ضمان الجودة عن كثب مع المطورين ، لأن هذا يميل إلى تكوين بيئة عمل أكثر إنتاجية لجميع المعنيين.

يسمح هذا أيضًا بإجراء محادثات وجهاً لوجه يمكن أن تسفر عن بعض الحلول المثيرة للاهتمام للمشكلات التي لا تعد ولا تحصى التي يواجهها أمر معقد مثل تطوير البرامج. كما أنه يوفر التوازن الذي تمس الحاجة إليه لدور المطور ، حيث تبحث فرق ضمان الجودة في فائدة المنتج لأطراف ثالثة وعملائهم.

في حين أن بعض الشركات قد بدأت في إعادة تقييم الحاجة إلى موظفين متخصصين في ضمان الجودة ، فإن العديد من الشركات الأخرى تجد أن الاهتمام الأقل بالجودة يؤدي إلى زيادة شكاوى العملاء وفقدان الإيرادات.

ما هي معايير SQA الموجودة؟

هناك العديد من المعايير الدولية لضمان الجودة في جميع أنحاء العالم ، ولكن بعض المعايير الأكثر شيوعًا هي كما يلي.

  • سلسلة ISO / IEC 9000 - واحدة من أكثر معايير ضمان الجودة المعترف بها واحترامًا ، وهي تستند إلى 7 مبادئ إدارية أساسية. هؤلاء هم؛ التركيز على العملاء ، والقيادة ، وإشراك الأفراد ، ونهج العملية ، والتحسين ، واتخاذ القرار القائم على الأدلة ، وإدارة العلاقات. من بين هذه السلسلة ، بعض أكثرها صلة هي ISO / IEC 9126 و ISO / IEC 9241-11.
  • ISO / IEC 25000 - المعروف عمومًا بالمعيار الذي يوفر إرشادات لمتطلبات جودة البرامج وتقييمها (SQuaRE) ، يساعد هذا المعيار المؤسسات على تعزيز العمليات المتعلقة بمتطلبات جودة البرامج وتقييماتها. منذ ذلك الحين حلت هذه المواصفة القياسية محل ISO 9126 و ISO 14598.
  • ISO / IEC 12119 - يتعامل هذا المعيار مع حزم البرامج التي يتم تسليمها إلى العميل. لا يركز أو يتعامل مع عملية إنتاج العملاء.
  • مستويات CMMI 1-5 - من أجل تكامل نموذج نضج القدرات ، يعد هذا المعيار واحدًا من العديد من عمليات تطوير البرامج المخصصة للمعايير. يمكن استخدامه لتوجيه تحسين العملية في جميع أنحاء المشروع ، في قسم معين ، أو في جميع أنحاء المنظمة بأكملها. كل مستوى من من 1 إلى 5 (مستوى 5 كونها أعلى) يتم منحها بناءً على نزاهة وفعالية عمليات المنظمة.
  • معايير IEEE - لدى IEEE معايير مختلفة تتعلق بتطوير البرامج واختبارها. وتشمل هذه: IEEE 829 و IEEE 1061 و IEEE 1059 و IEEE 1008 و IEEE 1012 و IEEE 1028 و IEEE 1044 و ​​IEEE 1044-1 و IEEE 830 و IEEE 730 و IEEE 1061 و IEEE 12207.
  • معايير BS EN - BS EN ، أو المعيار البريطاني ، لديها أيضًا معايير مختلفة تتعلق بتطوير البرامج. بعض من أكثرها صلة تشمل BS 7925-1 و 7925-2.

ماذا تستلزم عملية SQA؟

تميل أي عملية SQA إلى أن تتكون من عشرة عناصر أساسية. هذه ، على نطاق واسع:

  • معايير هندسة البرمجيات
  • المراجعات والمراجعات الفنية
  • اختبار البرمجيات لمراقبة الجودة
  • جمع وتحليل الأخطاء
  • إدارة التغيير
  • برامج تعليمية
  • إدارة البائعين
  • إدارة الأمن
  • سلامة
  • إدارة المخاطر

مثل أي نظام لضمان الجودة ، تتضمن عملية SQA عمومًا الأنشطة العامة التالية. هذه القائمة ليست شاملة ويقصد بها فقط الإشارة إلى بعض العناصر الأكثر أهمية.

1. يجب وضع خطة إدارة شاملة

تعد صياغة خطة إدارة من أهم الخطوات في أي نظام لضمان الجودة.

وسيشمل ذلك إشارات إلى أي معايير دولية ذات صلة ، فضلاً عن معايير صناعية معينة ، إن وجدت ، مطبقة.

ستعمل الخطة بعد ذلك على تعيين إجراءات الشركة وسياساتها والعمليات الأخرى لهذه المعايير من أجل ضمان الامتثال لها ، على أقل تقدير. وقد يشمل أيضًا الأنشطة التي تتجاوز الحد الأدنى من المعايير المتوقعة.

يجب أن تحدد خطة إدارة SQA أيضًا النهج العام الذي ستتبعه المنظمة طوال عملية التطوير ، مثل الأنشطة الهندسية المحددة التي سيتم تنفيذها.

كما سيضمن أن يكون لدى فريق التطوير أعداد كافية من الموظفين ذوي الخبرة والمؤهلين المناسبين ، وعند الاقتضاء ، المعتمدين لإكمال المشروع. يجب أن تتضمن أيضًا التدابير ، إن وجدت ، التي سيتم اتخاذها إذا تم الاستعانة بمصادر خارجية لأي جزء من عملية التطوير لشركات أو مقاولين تابعين لجهات خارجية.

2. ستتضمن عملية SQA سلسلة من نقاط التفتيش وعمليات التدقيق

سيحدد أي نظام SQA متطور بشكل جيد سلسلة من نقاط التفتيش على طول دورة حياة برنامج التطوير. هذه بمثابة تقييمات دورية للتقدم المحرز في المشروع ، مع التحقق من المعايير ونطاق تطوير الأعمال ، لضمان عدم خروج المشروع عن المسار الصحيح.

ستضمن هذه الفحوصات أيضًا جودة المنتج في تلك اللحظة بالذات ، وستقوم غالبًا (ولكن ليس دائمًا) بتقييم كفاءة وأداء الموظفين الفنيين. يجب إجراء مثل هذه الفحوصات في النقاط الإستراتيجية في عملية التطوير ، بالإضافة إلى إجراء "عمليات تفتيش مفاجئة" منتظمة وغير معلن عنها لضمان الالتزام بولاية نظام ضمان الجودة.

3. سيطبق SQA الجيد تقنيات هندسة البرمجيات

أي SQA يستحق الملح سيطبق بعض المساعدات لتقنيات هندسة البرمجيات أيضًا. تساعد هذه البرامج مطوري البرامج على تحقيق أعلى جودة ممكنة ، مع الالتزام بالجداول الزمنية ، غالبًا.

تشمل الأمثلة: المقابلات ، وتقنيات نظام التحليل الوظيفي (FAST) ، وهياكل تقسيم العمل (WBS) ، وخطوط مصدر الرموز (SLOC) ، وتقدير النقطة الوظيفية.

4. تعتمد أنظمة SQA بشكل كبير على المراجعات الفنية الرسمية

المراجعات الفنية الرسمية (FTR) هي جزء آخر مهم للغاية من أنظمة SQA. هذه ، كما يوحي الاسم ، تقيم جودة وتصميم أي برنامج نموذج أولي.

عادة ما يتم إجراء هذه المراجعات في وقت مبكر من المشروع ، وتساعد في اكتشاف الأخطاء في أسرع وقت ممكن ، مما يقلل من الحاجة إلى إعادة العمل لاحقًا.

5. تعد الاختبارات المتعددة جزءًا مهمًا من العملية

لن يعتمد إجراء SQA الجيد على نهج اختبار واحد فقط. يجب استخدام أنواع اختبار متعددة لضمان اختبار أي منتج برمجي من زوايا متعددة لضمان جودته بشكل أكبر.

6. تطبيق الالتزام بالعملية مهم

عادةً ما يكون الالتزام بالعملية مزيجًا من نشاطين فرعيين ، وتقييم المنتج ومراقبة العملية. يؤكد الأول أن منتج البرنامج يفي بالفعل بالمتطلبات التي يتم تطويرها من أجلها ويضمن تلبيتها لأي معايير محددة مسبقًا.

يتحقق الأخير من أن الخطوات الصحيحة قد تم اتخاذها خلال عملية تطوير البرنامج. يتم تحقيق ذلك عادة عن طريق مطابقة الخطوات الفعلية المتخذة ، مقابل الخطوات الموثقة ضمن خطة إدارة SQA.

7. يجب أن تكون أنظمة SQA مرنة

يجب أن تكون أي خطة SQA جيدة مرنة بما يكفي للتكيف مع التغييرات. يجب عليهم دمج الإجراءات اللازمة للتعامل مع التغييرات التي لا بد أن تظهر أثناء أي عملية تطوير برمجيات.

يجب التعامل مع التغييرات من خلال نظام رسمي يقوم بتسجيل كل منها والتحقق من صحتها. ستتحقق عملية التحقق من أن أي تغييرات يتم إجراؤها تتماشى مع المعايير المحددة ، فضلاً عن كونها قابلة للتطبيق.

يجب أيضًا تقييم أي تغييرات يتم إجراؤها ، سواء كانت إصلاحات للعيوب أو غير ذلك ، وقياس تأثيرها ، إن وجد. ستضمن هذه الفحوصات أن أي تغييرات يتم إجراؤها لإصلاح العيوب فعالة ، وتضمن أيضًا توافقها مع المشروع ككل.

يتم تحقيق ذلك عادةً باستخدام مقاييس جودة البرامج المختلفة التي تسمح للمديرين والمطورين بمراقبة الأنشطة وتتبع التغييرات من البداية إلى النهاية. وسيشمل أيضًا الإجراءات التصحيحية ، عند الاقتضاء.

9. عمليات التدقيق الكبيرة "أ"

لعنة العديد من الموظفين الفنيين ، فإن عمليات التدقيق أساسية بالنسبة إلى SQA جيد التجهيز. يتحقق هذا من "الملاءمة" العامة لنظام الإدارة وأيضًا "التعمق" في التقدم المحرز في عملية تطوير البرامج ، بالإضافة إلى الالتزام بالمعايير.

ستتحقق عمليات التدقيق أيضًا من أن تقارير الحالة لجميع أعضاء الفريق تعكس بدقة الحالة الحقيقية للمشروع ، بالإضافة إلى الكشف عن أي مشكلات تتعلق بعدم الامتثال.

10. السجلات والسجلات والسجلات

أي شخص كان لديه "متعة" في إدارة نظام جودة من أي نوع يدرك أهمية حفظ السجلات والتقارير بشكل جيد. لا تختلف عملية SQA ، ويجب تحديث جميع الوثائق اللازمة ونشرها بين جميع المساهمين المعنيين.

يجب الاحتفاظ بأشياء مثل نتائج الاختبار ونتائج التدقيق وتقارير المراجعة وتوثيق طلبات التغيير وما إلى ذلك للرجوع إليها في المستقبل.

11. سيساعد نظام SQA الرائع أيضًا على إقامة علاقات جيدة بين جميع الأطراف

وأخيرًا ، يتمثل أحد الأجزاء المهمة جدًا في SQA في الحفاظ على العلاقات الجيدة. ستتحرك العملية بأكملها بسلاسة أكبر إذا تم الحفاظ على الانسجام بين فرق ضمان الجودة وفرق التطوير.

وهذا لا يؤدي فقط إلى "تشحيم العجلات" والسماح لأنشطة ضمان الجودة بالتغلب على الحواجز ، ولكنه يساعد أيضًا في بناء شعور بالصداقة الحميمة بين الإدارات المختلفة. لا أحد يحب أن يقوم شخص آخر بفحص عملهم ، لذلك من الأفضل الحفاظ على العملية ودية وبناءة.

و هذا ملف. نأمل ، الآن ، أن تكون قد تمكنت من الحصول على تقدير لسبب وجود SQA ، ولماذا يجب أن تأخذ الأمر على محمل الجد.

نعم ، يمكن أن يكون الأمر مزعجًا ، ولكن في النهاية ، يضمن ضمان الجودة أن المنتج النهائي هو أفضل ما يمكن أن يكون وأن عملائك سيشترونه بالفعل.

إن الحفاظ على الجودة العالية وبناء الثقة في قاعدة عملائك ، كما يقولون ، يستحق وزنه ذهباً.


شاهد الفيديو: الخطة التطويرية (أغسطس 2022).