مقدمة عن الperformance testing وكيف نعمل install للjmeter وماهو الthread group وماهى الsamplers | اعرف أكثر عن الperformance testing باستخدام الjmeter
ان شاء الله اليوم سوف اتحدث عن الperformance testing , وايه هى العناصر اللى بتتحكم فى الperformance testing, وازى نعمل install
للjmeter , وماهو الthread group الخاص, وماهى الsamplers, عرفنا من قبل فى الموضوع الخاص
بالمقدمة عن الsoftware testing ان التيستينج لايقتصر فقط على اختبار الوظائف الخاصة
بالسوفتوير فقط , ولكن هذا نوع من أنواع التيستينج بيسمى الفنكشينال التيستينج,
لكن اليوم ان شاء الله هنتكلم عن الperformance testing وهو نوع من أنواع
النانفنكشينال تيستينج حيث انه يتم فيه اختبار أداء السوفتوير بعيدا عن الوظائف
الخاصة بالسوفتوير.
ماهو الperformance testing وماهى العناصر التى تتحكم فى الperformance testing
فى الperformance testing احنا بنشوف السيستيم
ازاى بيعمل لما بعمل عليه load وده له أنواع هنتكلم عن نوعين منهم, النوع الأول وهو
الload testing وفى هذا النوع احنا بنعمل تيستينج للسوفتوير وهو فى الوضع الطبيعى
بتاعه أو فى الوضع المسموح به يعنى السيناريوهات اللى بنعملها فى هذا النوع بيكون
عدد المستخدمين بسيط أومعقول بحيث يستحملهم السيستيم , النوع الثانى وهو الstress testing وفى هذا النوع احنا بنعمل تيستينج
للسيستيم وهو فى وضع فوق الطبيعى
وبنشوف السيستيم هل هيقع ولا هيبطىء فقط يعنى فى هذا النوع انا بكون عاوز أوقع
السيستيم علشان أشوف هى أيه النقطة أو الbreak point اللى عندها السيستيم هيقع.
العناصر اللى بتتحكم فى الperformance testing
1- الspeed : بشوف سرعة السيستيم لما بدخل عليه عدد من المستخدمين , هو ممكن مايحصلش fail ولكن بيحصل بطىء زى موقع نتيجة الثانوية, وعلى أساس السرعة دى أقدر أقول السيستم بتاعى أداؤه عالى ولا قليل.
2-
الscalability: قدرة السيستيم على انه يشتغل عليه أكثر عدد من المستخدمين قد ايه
, يعنى بيقدر يتحمل أكبر عدد من المستخدمين قد ايه وطبعا لو زاد عدد المستخدمين اللى السيستيم يقدر
يتحملهم فهذا يعنى ان السيستيم أداؤه
عالى.
3-الstability : قدرة السيستيم على انه يظل stable لأكبر عدد من المستخدمين , يعنى بشوف أقصى مدة بيظل السيستيم فيها stable مهما زاد عدد المستخدمين زى الفيسبوك مثلا , وطبعا كل مازادت هذه المدة اللى بيظل
فيها السيستيم stable مهما زاد عدد المستخدمين كل ما كان أداؤه أعلى .
4- الreliability : بشوف السيستيم هيعمل ايه
فى شروط معينة أو فى سيناريو معين أوفى case معينة زى ما بنعمل فى ال load testing , هو أصلا الreliability نوع من
أنواع الload testing.
أما بالنسبة للأدوات الخاصة بالperformance testing فعندى الjmeter وده اللى هنتكلم عنه , هنعرف ازاى نعمل له install وايه
العناصر الموجودة فيه وازاى نعمل عليه performance testing , وعندى load runner ودى أداة أيضا نقدر نعمل عليها performance testing ولكنها ليست مجانية وهى مدعومة من قبل hp ,
وعندى كمان web load أيضا أداة أقدر اعمل عليها performance testing.
وهذا فيديو بيتكلم عن الperformance testing .
كيفية عمل install للjmeter
بعمل install للجافا , وبعدين بعمل تحميل للjmeter , وبعدين بعمله تسطيب , وبعدين بفتح ملف الbin الموجود فى الjmeter وبضغط على jmeter.bat , بس قبل ما أضغط على jmeter.bat لازم اتأكد ان عندى فعلا جافا8 فبفتح الcmd runوبكتب فيها java-version هيظهر لى نوع الإصدار اللى عندى أتأكد انه8 علشان ميحصلش خطأ فى البرنامج.
وهذا فيديو بيشرح كيفية عمل install للjmeter .
ما هو الthread group
أول ماهنفتح الjmeter هنلاقى على ايدينا الشمال test plan ودى اللى بنحط فيها مجموعة السيناريوهات اللى هيتعمل لها تنفيذ , بضغط على الtest plan وبعمل add thread واختار thread group , طيب هى ايه الthread group , الthread group هم المستخدمين للى هيعملوا actions على السيرفر علشان أشوف التيست بتاعى , لما نختار الthread group هنلاقى الشكل الخاص بالjmeter مقسم الى ثلاثة أقسام.القسم الأول هو الthread group
هنلاقى فيه حقلين الname والaction ,الname بسمى
الthread group بتاعى أى اسم وليكن users ,الaction بختار ايه الحدث اللى أخده لما
يطلع خطأ وليكن مثلا اليوزر رقم 50 مدخلش وطلع ايرور فمثلا هختار continue يعنى
كمل السيناريو عادى وبعدين عرفنى المستخدم اللى معرفش يدخل.
القسم الثانى هو الthread properties
هنلاقى فيه الnumber of thread والrump-up period والloop count ,الnumber of thread هم عدد المستخدمين اللى هدخلهم على السيرفر بتاعى ,
الrump-up period بالثوانى وهى الفترة أو عدد الثوانى اللى هيدخل فيهم هؤلاء المستخدمين على السيرفر, الloop count هو عدد المرات اللى هكرر فيها هذا السيناريو على السيرفر
وليكن مرتين ,مش هعمله forever علشان مايحصلش تهنيج للسيرفر.
القسم الثالث هو الscheduler configuration
لازم اعمل checkbox على الscheduler علشان
اقدر أعدل على الconfiguration, هلاقى عندى فى هذا القسم حقلين وهم الduration والstart up delay , الduration هى عدد الثوانى اللى هيتعمل فيها تنفيذ للسيناريو
اللى عندى(وهو ان 100 يوزر يدخلوا فى ثانية واحدة ) بغض النظر هل هيكون كل المستخدمين دخلوا ولا لأ , فمثلا لوعندى المستخدمين 100 وال rump-upبتساوى 180 ثانية وال durationبتساوى 60ثانية فهذا يعنى ان ال100 مستخدم هيتعمل لهم دخول على السيرفر فى 3 دقائق لكن مدة تنفيذ هذا السيناريو هو دقيقة واحدة فقط حتى لو
لم يدخل كل المستخدمين فى هذه المدة , الstart up delay وهى المدة (عدد الثوانى ) اللى
هينتظره الjmeter قبل مايعمل بدء لتفيذ السيناريو
وليكن 10 ثوانى .
وهذا فيديو بيشرح الthread group .
ماهى الsamplers
الsamplers نوع من النوعين بتوع الcontroller الخاص بالjmeter والنوع الثانى هو الlogic controller , اما بالنسبة لوظيفة الsampler فهو اللى بيقول للjmeter انه يبعت ريكوست للسيرفر وينتظر لحد مايرد عليه بريسبونس ,
اما بالنسبة لإزاى أعمل إضافة للsampler بتاعى بحدد الthread group بتاعى وبعدين اضغط
عليه واعمل add sampler واختار الsampler اللى عاوزه وليكن http request , اما
بالنسبة لإزاى نعمل configuration للsampler بتاعنا
فا احنا بعدما عملنا اضافة للsampler بتاعنا اللى هو من نوعhttp request بيكون عندنا حقل اسمه server name أو ip وده بدخل فيه الرابط الخاص
بالسيرفر (الموقع) بتاعى بس بحذف منه نوع البروتكول , وبيكون فيه حقل خاص
بالبروتكول هنا بقى بضيف نوع البروتكول الخاص بنقل البيانات واللى بيكون موجود فى
بداية الرابط الخاص بالسيرفر اللى هعمل عليه التيست (https أو http), وبيكون فيه حقل اسمه pathهذا بحدد
فيه الحاجة اللى محتاجها بالظبط من داخل السيرفر زى الصور مثلا.
وهذا فيديو بيتكلم عن الsamplers.موضوعات قد تهمك
مقدمة عن الsoftware testing.
كيفية كتابة الtest case.
كيفية كتابة الbug report.
الsoftware testing principles.
العمليات الأساسية التى تمر بها الtesting process .
مصطلحات مهمة فى السوفتوير تيستينج مثل ماهى الbugو ماهى الtest case.
الدور الذى يبذله ال software quality engineer لتحقيق ال objectives of software testing.
الدور الذى يبذله ال software quality engineer لتحقيق ال objectives of software testing.
تعليقات