ان شاء الله اليوم سوف نتحدث عن الsoftware testing principles , من المهم جدا ان نضع الsoftware testing principles فى عين
الإعتبار واحنا بنعمل تيستينج لأى مشروع شغالين عليه , هذة المبادىء لوطبقناها على
المشروع اللى بنعمل له تيستينج ان شاء الله هنطلع بنتيجة مرضية عن العمل بتاعنا
ومرضية للعميل لأنها بتساعدنا اننا نوجه تركيزنا لتحقيق أهداف التيستينج.
الsoftware testing principles
1-Early Testing: معناه ان كل ما اكتشف الأخطاء بدرى يكون أحسن , وذلك لأننا كل ما بنتأخر فى اكتشاف الأخطاء كل مايكون تكلفة تصليح هذة الأخطاء ومعرفة مصادرها بتكون أصعب , يعنى أعمل تيستينج بدرى على قد ما أقدر.
2-Absence-of- errors fallacy: معناه ان مهما اكتشفت فى السوفتوير بتاعى من أخطاء ولم ألبى طلبات العميل فالسوفتوير عمره ما هيكون ناجح , وذلك لأن الهدف الأساسى هو انى أشوف الrequirements اللى طالبها العميل متوفرة فى السوفتوير عندى ولا لأ , لأن العميل أصلا بيدفع مقابل اللى هو عاوزه حتى لوفيه حاجة أحسن من الحاجة اللى هو عاوزها ,فا احنا لازم ننفذ الحاجة اللى عاوزها العميل طالما هو عاوز كده ونتأكد انها شغالة كما هو مطلوب.
3-Testing shows presence of defects: معناه ان التيستينج بيطلع ليا الdefects الموجودة فى السوفتوير
مش بيخفى الdefects, وان مش معنى ان مفيش defects يبقى السوفتوير ناجح.
4-Testing is context dependent : معناه ان التيستينج بيختلف على حسب نوع السوفتوير بتاعى
فالتيستينج لموقع تجارى بيختلف عن التيستينج لموقع طبى , لأن على حسب نوع
السوفتوير بنستخدم techniques معينة تتناسب معه ونهتم بالوظائف الأساسية المطلوب توافرها فى السوفتوير والتى تختلف من نوع
لأخر.
5-Defect Clustering : معناه ان ممكن يكون هناك defects كثيرة متجمعة فى عدد قليل من الmodules ويطلق على هذا المبدأ(80% 20%) يعنى 80% من الdefects موجودة فى 20%من الmodules,
يعنى منستبعيدتش ان ممكن يكون فى السوفتوير module واحد ولا two modules هما السبب فى
معظم الأخطاء اللى بتظهر.
6-Pesticide Paradox: معناه انى لوطبقت نفس الtest cases على نفس الموقع حتى بعد ما اتعدل فا
أنا مش هطلع بنتيجة لأن هيطلع لى نفس الأخطاء فلازم أعدل الtest cases.
7-Exhaustive testing is impossible : معناه انى أعمل تيستينج لكل
احتمالات ال inputs وده مستحيل فبستبدله بال risk analysis أو ال priority , ولازم
يكون عندى علم ان مهما عملت من تيستينج فعمر ما هيكون السوفتوير 100% error free,
علشان كده احنا بنحاول نغطى نسبة كبيرة من اجزاء السوفتوير واحنا بنعمل تيستينج
علشان نتأكد من المتطلبات الأساسية , لأننا مهما عملنا تيستينج مش هنقدر نغطى كل
الإحتمالات اللى ممكن يعملها المستخدم وبردوا مش هيكون السوفتوير 100% error free وكده ممكن مانسلمش السوفتوير للعميل.
وده فيديو بيشرح ال software testing principles.
وده فيديو بيشرح ال software testing principles.
تعليقات