U3F1ZWV6ZTQ2NzUxODY0ODA1MTI3X0ZyZWUyOTQ5NTExODk5MzE1NA==

تعرف على دور مهندس اختبار البرمجيات الذى يبذله لتحقيق ال objectives of software testing| دورالsoftware quality engineer






 تعرف على دور مهندس اختبار البرمجيات الذى يبذله لتحقيق ال objectives of software testing| دورالsoftware quality engineer


ان شاء الله اليوم سوف نتحدث عن دور الsoftware quality engineer الذى يبذله لتحقيق أهداف التيستينج(objectives of software testing) . 
بعد ان عرفنا نبذة مختصرة عن عملية التيستينج.ومدى أهميتها بالنسبة للسوفتوير وخروجه بجودة عالية مرضية للعميل.
وان من خلالها يمكننا اكتشاف اخطاء قد تكلفنا الكثير وتؤدى الى ان العميل يفقد الثقة فى منتجاتنا يمكنك قراءة ماهو الsoftware testing وماأهميته.
الكثير يعتقد ان مهندس اختبار البرمجيات يقوم فقط باكتشاف الاخطاء الموجودة فى السوفتوير او عمل الtest cases وتنفيذها. ولكن هذا جزء فقط من عمل مهندس اختبار البرمجيات وليس كل عمله . ولذلك سوف نوضح اليوم ما الذى يفعله مهندس اختبار البرمجيات بالتفصيل حتى يكون من يريدون البدء فى المجال على علم  بالمطلوب منهم ولايصطدموا بالواقع عند نزولهم للعمل فى الشركات على ارض الواقع.


دور الsoftware quality engineer لتحقيق ال objectives of software testing


1-فهم وثيقة متطلبات العميل وتحليلها:عند بداية المشروع يجتمع محلل النظم الخاص بهذا المشروع مع العميل ويفهم منه المتطلبات التى يجب توافرها فى السوفتوير المطلوب وماهى الوظائف الأساسية التى يقدمها هذا البرنامج لمستخدميه.

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

حان الآن ان نتكلم عن دور مهندس اختبار البرمجيات فى هذه المرحلة. يقوم مهندس اختبار البرمجيات بقراءة وثيقة المتطلبات(Software Requirement Specification) بعناية ويفهمها كويس ,ولوفيها حاجة مش مفهومة بيرجع لمحلل النظم اللى قام بتوثيقها هواللى بيفيده لانه بيكون عارف المطلوب ايه بالظبط لأنه هو اللى قابل العميل وفهم منه متطلبات المشروع ,ولو النقطة دى العميل ما اتكلمش معاه فيها بيرجع يسأله عنها قبل مايعمل أى حاجة علشان ما نعملش حاجة وتطلع فى الاخر العميل مش عاوزها.وكمان لو مهندس اختبار البرمجيات شايف ان فى تحسينات على حاجة عاوزها العميل بيقترحها الأول.

بعد ان فهم التيستر المشروع كويس ودى نقطة مهمة جدا .لازم تكون فاهم البيزنس كويس جدا قبل ماتبدأ فى التيستينج والا هتيست على أى اساس. انت لازم تكون فاهم ان بعد كده الكل بيرجعلك المصممين والمبرمجين فلازم لازم تكون فاهم البيزنس كويس.ثم بعد ذلك تبدأ تطلع الtest cases اللى هتعملها والسيناريوهات اللى هتغطى نسبة كبيرة من متطلبات المشروع اللى العميل طلبها.

 2-ايجاد الأخطاء:حيث يقوم مهندس اختبار البرمجيات بتنفيذ الtest cases على السوفتوير وبعد الانتهاء من تنفيذ كل test case ستكون النتيجة اما pass واما fail. فإذا كانت fail فيجب على مهندس اختبار البرمجيات ان يقوم بعمل report للخطأ هذا. ويمكن ان يوجد اخطاء ايضا عن طريق الexploratory testing.والمقصود بالexploratory testing هو ان يقوم مهندس اختبار البرمجيات بإستكشاف السوفتوير وايجاد الاخطاء بدون تنفيذ لtest cases معينة
.
3-منع الأخطاء:حيث يقوم مهندس اختبار البرمجيات بإكتشاف الأخطاء فى المراحل الاولى من بناء السوفتوير.فمثلا يمكن ان يستكشف أخطاء عندما يقوم بمراجعة الSRS فمثلا ممكن مايكونش محلل النظم موضح هل تسجيل الدخول للموقع اللى شغالين عليه بيكون بالuser name والpassword ولابالemail والpassword ولاينفع بأيهما(user name او email) ,فلو مهندس اختبار البرمجيات مسألش فى النقطة دى ممكن يتبنى الموقع بأى طريقة منهم ويكون العميل عاوز طريقة معينة.

 ومن الطرق اللى ممكن اكتشف فيها الاخطاء مبكرا هو انى اكتشف الاخطاء فى المراحل الاولى من التيستينج زى مثلا فى مرحلة الunit testing اوالintegration testing قبل ما نوصل للsystem testing اوالacceptance testing . المصطلحات دى كلها هنعرفها فى الموضوعات الخاصة بtesting levels لان كل مابنتاخر فى اكتشاف الاخطاء ده بيكلف اكتر وكمان بيكون صعب معرفة مصدر الخطأ او المسبب الحقيقى للخطأ.

4-اكتساب الثقة فى مستوى الجودة:حيث أن مهندسى الاختبار بعد قيامهم بالتأكد من ان الوظائف الاساسية للسوفتوير شغالة وتمام  والسوفتوير مش بيحصل له crash وبيشتغل بأداء أفضل ومحتفظ بالبيانات الخاصه به. بيكونوا عارفين أنهم مهما يعملوا تيستينج لازم بيكون فيه أخطاء لأن مستحيل أنى اغطى كل الاحتمالات الممكنة وده اللى بيشير اليه مبدأ من مبادىء الsoftware testing principles وهو exhaustive testing is impossible.

وبعدين كمان بيكونوا محكومين بتسليم فى وقت معين. وبيكون لهم ميزانية معينة دى ممكن تأثر أيضا فى انهم ميعملوش تيستينج على اجهزة كتيرة مثلا .فكل ده عوامل بتأثرعلى ان عملية التيستينج لاتؤدى الى ان السوفتوير ستكون جودته 100% .ولكن اننا نغطى المتطلبات الاساسية و الوظايف اللى بيقوم عليه السوفتوير وكمان نتأكد ان الموقع شغال بأداءكويس لكام مستخدم داخلين عليه وان عملية حماية البيانات له بنسبة قديه .ده بيخلينا نقدر نحدد السوفتوير بتاعنا جودته قد ايه واحنا عملنا coverage بنسبة قد ايه.


5-تقديم المعلومات اللازمة لصناع القرار:بعد ماعملنا الخطوات اللى فوق دى جه وقت اننا نبلغ صناع القرار اللى هما العميل اوماينوب عنه باللى اتعمل له تيستينج واللى ما اتعملش له تيستينج قبل تسليم السوفتوير لهم علشان يكونوا على علم بكل شىء.

وهذا فيديو يشرح لك أهداف السوفتوير تيستينج(objectives of software testing) ومايترتب عليها من المهام التى يقوم مهندس الاختبار(software quality engineer) بتنفيذها.


QA&Testing للإطلاع على ملف

موضوعات قد تهمك



تعديل المشاركة Reactions:
author-img

المهندسة / فاطمة الزهراء نصر

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