Software Testing Lecture 4 PDF
Document Details
Tags
Summary
This lecture covers the basics of software testing, including development, test-driven development, release testing, and user testing. It further details program testing goals, concepts like validation and defect testing, and concludes on the processes of testing, verification, and validation.
Full Transcript
Software Testing 1 Topics covered Development testing Test-driven development Release testing User testing اختبار التطوير تطوير يحركها االختبار...
Software Testing 1 Topics covered Development testing Test-driven development Release testing User testing اختبار التطوير تطوير يحركها االختبار اختبار اإلطالق اختبار المستخدم 2 Program testing Testing is intended to show that a program does what it is intended to do and to discover program defects before it is put into use. When you test software, you execute a program using artificial data. You check the results of the test run for errors, anomalies or information about the program’s non-functional attributes. Can reveal the presence of errors NOT their absence. Testing is part of a more general verification and validation process, which also includes static validation techniques. 3 اختبار البرنامج يهدف االختبار إلى إظهار أن البرنامج يقوم بما هو مقصود القيام به واكتشاف عيوب البرنامج قبل استخدامه. عندما تختبر برنام ًجا ،فإنك تقوم بتنفيذ برنامج باستخدام بيانات اصطناعية. تتحقق من نتائج التشغيل التجريبي بحثًا عن أخطاء أو حاالت شاذة أو معلومات حول السمات غير الوظيفية للبرنامج. يمكن أن تكشف عن وجود أخطاء وليس غيابها. يعد االختبار جز ًءا من عملية تحقق وتحقق أكثر عمومية ،والتي تتضمن ضا تقنيات التحقق من الصحة الثابتة . أي ً 4 Program testing goals To demonstrate to the developer and the customer that the software meets its requirements. For custom software, this means that there should be at least one test for every requirement in the requirements document. For generic software products, it means that there should be tests for all of the system features, plus combinations of these features, that will be incorporated in the product release. To discover situations in which the behavior of the software is incorrect, undesirable or does not conform to its specification. Defect testing is concerned with rooting out undesirable system behavior such as system crashes, unwanted interactions with other systems, incorrect computations and data corruption. 5 أهداف اختبار البرنامج إثبات للمطور والعميل أن البرنامج يفي بمتطلباته بالنسبة للبرامج المخصصة ،هذا يعني أنه يجب أن يكون هناك اختبار واحد على األقل لكل متطلب في وثيقة المتطلبات .بالنسبة لمنتجات البرامج العامة ،فهذا يعني أنه يجب إجراء اختبارات لجميع ميزات النظام ،باإلضافة إلى مجموعات من هذه الميزات ،والتي سيتم دمجها في إصدار المنتج. الكتشاف المواقف التي يكون فيها سلوك البرنامج غير صحيح أو غير مرغوب فيه أو ال يتوافق مع مواصفاته. يهتم اختبار العيوب باستئصال سلوك النظام غير المرغوب فيه مثل تعطل النظام والتفاعالت غير المرغوب فيها مع األنظمة األخرى والحسابات غير الصحيحة وتلف البيانات . 6 Validation and defect testing The first goal leads to validation testing You expect the system to perform correctly using a given set of test cases that reflect the system’s expected use. The second goal leads to defect testing The test cases are designed to expose defects. The test cases in defect testing can be deliberately obscure and need not reflect how the system is normally used. 7 التحقق من الصحة واختبار العيوب الهدف األول يؤدي إلى اختبار التحقق من الصحة تتوقع أن يعمل النظام بشكل صحيح باستخدام مجموعة معينة من حاالت االختبار التي تعكس االستخدام المتوقع للنظام. الهدف الثاني يؤدي إلى اختبار الخلل تم تصميم حاالت االختبار لكشف العيوب.يمكن أن تكون حاالت االختبار في اختبار العيوب غامضة عن عمد وال يلزم أن تعكس كيفية استخدام النظام بشكل طبيعي . 8 Testing process goals Validation testing To demonstrate to the developer and the system customer that the software meets its requirements A successful test shows that the system operates as intended. Defect testing To discover faults or defects in the software where its behaviour is incorrect or not in conformance with its specification A successful test is a test that makes the system perform incorrectly and so exposes a defect in the system. 9 أهداف عملية االختبار اختبار التحقق من الصحة إثبات للمطور وعميل النظام أن البرنامج يفي بمتطلباته يظهر االختبار الناجح أن النظام يعمل على النحو المنشود. اختبار العيوب الكتشاف العيوب أو العيوب في البرنامج حيث يكون سلوكه غير صحيح أو ال يتوافق مع مواصفاته االختبار الناجح هو االختبار الذي يجعل النظام يعمل بشكل غير صحيح وبالتالي يكشف عن عيب في النظام . 10 An input-output model of program testing قد يساعد الرسم التخطيطي الموضح في الشكل في شرح االختالفات بين اختبار التحقق من الصحة واختبار العيب.فكر في النظام الذي يتم اختباره على أنه صندوق أسود.يقبل النظام المدخالت من بعض مجموعة اإلدخال Iويقوم بإنشاء مخرجات في مجموعة اإلخراج O.ستكون بعض المخرجات خاطئة.هذه هي النواتج في المجموعة Oeالتي تم إنشاؤها بواسطة النظام استجابةً للمدخالت في المجموعة Ie.األولوية في اختبار العيوب هي العثور على تلك المدخالت في المجموعة أي ألنها تكشف عن مشاكل في النظام. يتضمن اختبار التحقق من الصحة االختبار باستخدام المدخالت الصحيحة الموجودة خارج أي.هذه تحفز النظام لتوليد المخرجات الصحيحة المتوقعة. 11 Verification and validation التحقق والمصادقة Verification and validation processes are concerned with checking that software being developed meets its specification and delivers the functionality expected by client. These checking processes start as soon as requirements become available and continue through all stages of the development process. تتعلق عمليات التحقق والتحقق من الصحة بالتحقق من أن البرامج التي يتم تطويرها تفي بمواصفاتها وتوفر الوظائف التي يتوقعها العميل تبدأ عمليات الفحص هذه بمجرد توفر المتطلبات وتستمر خالل جميع مراحل عملية.. التطوير 12 Verification vs validation التحقق مقابل التحقق من الصحة Verification: "Are we building the product right”. The software should conform to its specification. check that the software meets its stated functional and non-functional requirements. Validation: "Are we building the right product”. The software should do what the user really requires. ensure that the software meets the customer’s expectations.." "هل نبني المنتج بشكل صحيح:التحقق.يجب أن يتوافق البرنامج مع المواصفات الخاصة به.تحقق من أن البرنامج يفي بالمتطلبات الوظيفية وغير الوظيفية المحددة." "هل نبني المنتج الصحيح:التحقق من الصحة.يجب أن يقوم البرنامج بما يطلبه المستخدم حقًا 13. تأكد من أن البرنامج يلبي توقعات العميل V & V confidence Aim of V & V is to establish confidence that the system is ‘fit for purpose’. The level of required confidence deppends on system’s purpose, user expectations and marketing environment Software purpose The level of confidence depends on how critical the software is to an organisation. User expectations Users may have low expectations of certain kinds of software. Marketing environment Getting a product to market early may be more important than finding defects in the program. 14 ثقةV & V الهدف من V & Vهو إثبات الثقة في أن النظام "مناسب للغرض". يعتمد مستوى الثقة المطلوبة على غرض النظام وتوقعات المستخدم وبيئة التسويق الغرض من البرنامج :يعتمد مستوى الثقة على مدى أهمية البرنامج للمؤسسة. توقعات المستخدم :قد يكون لدى المستخدمين توقعات منخفضة ألنواع معينة من البرامج. مبكرا أكثر أهمية من اكتشاف العيوب في ً البيئة التسويقية :قد يكون الحصول على منتج في السوق البرنامج. 15 Software Testing white-box black-box methods methods Methods Strategies 16 White-Box Testing... our goal is to ensure that all statements and conditions have been executed at least once... هدفنا هو التأكد من أن جميع البيانات والشروط قد تم تنفيذها مرة واحدة على األقل... 17 White-Box Testing Derive test cases that: Guarantee that all independent paths within a module have been exercised at least once. Exercise all logical decisions on their true and false sides. Execute all loops at their boundaries and within their operational bounds. Exercise internal data structures to ensure its validity. 18 اختبار الصندوق األبيض اشتق حاالت االختبار التي: تأكد من ممارسة جميع المسارات المستقلة داخل وحدة ما مرة واحدة على األقل. مارسوا جميع القرارات المنطقية على جانبيها الحقيقي والخطأ. نفذ جميع الحلقات في حدودها وداخل حدودها التشغيلية. ممارسة هياكل البيانات الداخلية للتأكد من صحتها. 19