ما هى الsoftware development models ومتى نقوم
بعملية التيستينج فى كل model | تعرف على الsoftware development models
ان شاء الله اليوم سوف نتحدث عن الsoftware development models ومتى نقوم بعملية التيستينج فى كل model , عرفنا من قبل فى المقدمة
الخاصة بالsoftware testing ان التيستينج عبارة عن مرحلة من مراحل تطوير البرمجيات , فأى سوفتوير بيتم تطويره بيمر بعدة مراحل وهى
الplanning وال analysis وال design وال implementation وال testing ثم ال deployment ,
وعرفنا أيضا فى الموضوع الخاص بال software testing principles انه يفضل اننا نعمل
تيستيج للسوفتوير بدرى على قد مانقدر , السؤال الآن هل التيسينج بنعمله من أول ما
أبدأ المشروع ولا هو عبارة عن مرحلة بنمر بيها لها دورها ووقتها , الجواب على هذا
السؤال هو ان وقت القيام بالتيستينج للسوفتوير بيتم طبقا للمودل اللى شغالة به
الشركة ,فأشهرال software development models هم ال sequential models وهو بيشمل (ال waterfall وال v-model) , ال iterative models , ال incremental model.
ما هى الsoftware development models
أشهر الsoftware development models هم الsequential models والiterative models و الincremental model
1- الsequential models : من الsoftware development models الsequential models وهو بيشمل نوعين هم الwaterfall والv-model.
الwaterfall : فى هذة الطريقة بننهى كل مرحلة من مراحل تطوير السوفتوير ثم ننتقل الى المرحلة الثانية وهكذا حتى نصل لمرحلة الكود وبعد انتهاءها نبدأ فى عملية التيستينج , من مزايا هذة الطريقة انها سهلة وبسيطة وبتكون مناسبة للمشاريع الصغيرة وان كل مرحلة من السهل مراجعتها وتسليم الريكويرمنت الخاصة بها , ومن عيوب هذة الطريقة انه لايمكن لنا ان نقوم بأى تعديلات وأن التعقيدات فى كل مرحلة ينتج عنها risk عالى جدا لأننا مش بنقدر نعرف ان البرنامج شغال ولا لأ إلا فى الأخر.
الv-model : وفيه بنقسم المشروع الى ثلاثة أقسام technical requirements وwork product و testing activities , وفى كل مرحلة بنجهز لها testing requirements علشان وقت التيستينج كل حاجة تكون جاهزة وننفذ على طول , ففى مرحلة ال user requirements بنبدأ نجهز ال plan الخاصة بال acceptance testing, وفى مرحلة ال software specification بنبدأ نجهز الplan الخاصة بال system testing ,وفى مرحلة ال high level design بنبدأ نجهز الplan الخاصة بال integration testing, وفى مرحلة ال low level design بنبدأ نجهز الplan الخاصة بالunit testing ثم بعد ذلك نبدأ فى الcoding , من مزايا الv-model سهولة الإستخدام خاصة فى المشاريع الصغيرة وتوفير الوقت لأنى بعد ماكنت بعمل تيستينج فى الأخر خالص احنا دلوقتى بنجهز للتيستينج من الأول خالص وبالتالى بيتم اكتشاف الأخطاء بدرى وبالتالى نسبة الأخطاء بتكون قليلة , من عيوب الv-model ان لو اطلب أى تغيير هنضطر اننا نغير فى كل الديكيومنتس لأن التغيير فى أى حاجة بيأثر على باقى المشروع وبيفتقد المرونة لأننا بننتظر الى ان نصل لمرحلة الimplementation علشان نبدأ فى كتابة الكود وهذا لايسمح لنا بأن نأخذ prototype لكى يتم عرضه على العميل قبل التسليم لكى نأخذ منه feedback.
2- الiterative models : وفيه بنقسم المشروع الى عدة دورات صغيرة بننفذها وبنعمل عليها تيستينج ثم بيتم عرضها على العميل علشان لو فيه أى تعديل نعدل , ومش لازم تكون الريكويرمنت كاملة فى البداية , مثال على ذلك لوتم طلب منا رسم صورة للوحة الموناليزا فإننا سنرسمها فى البداية بصورة مشوهة ثم يتم عرضها على العميل فيخبرنا بتفاصيل أكثر فهيتم رسمها بصورة متوسطة الوضوح ثم يتم عرضها على العميل فيخبرنا بتفاصيل أدق فيتم رسمها بصورة واضحة , وبيتم تطبيق الiterative models فى ال rapid app وال agile prog.
3-الincremental model :بيكون عبارة عن مزيج من الiterative والsequential, وبيكون عندى ريكويرمنت بنقسمها لأجزاء وبنشتغل على كل جزء ننفذه وبعدين نعمل له
تيستينج ثم نبدأ فى جزء أخر ونضيفه للجزء السابق وهكذا , فعند تطبيق هذة الطريقة
على صورة الموناليزيا فسوف نقوم بتقسيم الصورة فنبدأ بالوجه ثم بأحد الجوانب
للصورة ثم بالجانب الأخر حتى تكتمل الصورة , وبيتم تطبيق الincremental model فى كل
من ال prototyping وال RAD وال rational unified process.
وفى كل هذة الsoftware development models وخاصة
الv-model بنقوم بعمل verification testing وvalidation testing , والمقصود بالverification testing هل السوفتوير بيحقق الموجود فى الريكويرمنت ولا لأ , والمقصود بالvalidation testing بعد ما أتأكدنا من ان السوفتوير بيحقق الريكويرمنت هل بيحقق احتياجات
العميل ولا لأ.
وهذا فيديو بيشرح الsoftware development models..
وهذا فيديو بيشرح الsoftware development models..
موضوعات قد تهمك
مقدمة عن الsoftware testing.
الsoftware testing principles.
العمليات الأساسية التى تمر بها الtesting process .
المستويين الأول والثانى من الtesting levels وهم ال unit testing والintegration testing.
المستويين الثالث والرابع من الtesting levels وهم ال system testing والacceptance testing.
تعليقات