Software Testing Lecture 5 PDF
Document Details
Uploaded by EasygoingGenre
Tags
Related
- Week 8 Software Testing - Fundamentals of Software Engineering PDF
- محاضرة2عمليات_البرمجيات_هندسة_برمجيات PDF
- Unit 1: Software Development Life Cycle (SDLC) PDF
- UT1- DESARROLLO DE SOFTWARE PDF
- Software Life Cycle & UML - PDF
- Chapitre 2: La méthode de conception conjointe logicielle/matérielle (codesign) PDF
Summary
This lecture covers software testing, including black-box testing, test cases, and different testing stages. It details the process of finding errors in software and testing its functionality, behavior, and performance. The lecture aims to provide a solid understanding of designing and executing test cases.
Full Transcript
Software Testing 1 Black-Box Testing(SWE 14.6) requirements output input events 2 Black-Box Testing Find errors in the following categories: Incorrect or missing functions Interface error...
Software Testing 1 Black-Box Testing(SWE 14.6) requirements output input events 2 Black-Box Testing Find errors in the following categories: Incorrect or missing functions Interface errors Errors in data structures or external data base access. Behavior or performance errors. Initialization and termination errors. 3 اختبار الصندوق األسود ابحث عن األخطاء في الفئات التالية: وظائف غير صحيحة أو مفقودة أخطاء الواجهة أخطاء في هياكل البيانات أو الوصول إلى قاعدة البيانات الخارجية. أخطاء في السلوك أو األداء. أخطاء التهيئة واإلنهاء. 4 Black-Box Testing Tests are designed to answer the following questions: How is functional validity tested? How is system behavior and performance tested? What classes of input will make good test cases? Is the system particularly sensitive to certain input values? How are the boundaries of a data class isolated? What data rates and data volume can the system tolerate? What effect will specific combinations of data have on system operation? 5 اختبار الصندوق األسود االختبارات مصممة لإلجابة على األسئلة التالية: كيف يتم اختبار الصالحية الوظيفية؟ كيف يتم اختبار أداء النظام وسلوكه؟ ما هي فئات المدخالت التي ستشكل حاالت اختبار جيدة؟ هل النظام حساس بشكل خاص لقيم إدخال معينة؟ كيف يتم عزل حدود فئة البيانات؟ ما هي معدالت البيانات وحجم البيانات التي يمكن للنظام تحملها؟ ما هو تأثير مجموعات معينة من البيانات على تشغيل النظام؟ 6 A model of the software testing process نموذج لعملية اختبار البرنامج 7 Test Cases Test cases are specifications of the inputs to the test and the expected output from the system (the test results), plus a statement of what is being tested. Test data are the inputs that have been devised to test a system. The expected results are automatically compared with the predicted results so there is no need for a person to look for errors and anomalies in the test run. 8 حاالت تجريبية حاالت االختبار هي مواصفات مدخالت االختبار والمخرجات المتوقعة من النظام (نتائج االختبار) ،باإلضافة إلى بيان بما يتم اختباره. بيانات االختبار هي المدخالت التي تم تصميمها الختبار النظام.تتم مقارنة النتائج المتوقعة تلقائيًا بالنتائج المتوقعة ،لذلك ال داعي ألن يبحث الشخص عن األخطاء والمفارقات في التشغيل التجريبي. 9 Testing stages Typically, a software system has to go through three stages of testing: 1. Development testing, where the system is tested during development to discover bugs and defects. 2. Release testing, where a separate testing team tests a complete version of the system before it is released to users. The aim of release testing is to check that the system meets the requirements of system stakeholders. 3. User testing, where users or potential users of a system test the system in their own environment. For software products, the ‘user’ may be an internal marketing group who decide if the software can be marketed, released, and sold. Acceptance testing is one type of user testing where the customer formally tests a system to decide if it should be accepted from the system supplier or if further development is required. 10 مراحل االختبار عادة ،يجب أن يمر نظام البرنامج بثالث مراحل من االختبار: .1اختبار التطوير ،حيث يتم اختبار النظام أثناء التطوير الكتشاف األخطاء والعيوب. .2اختبار اإلصدار ،حيث يقوم فريق اختبار منفصل باختبار إصدار كامل من النظام قبل إصداره للمستخدمين.الهدف من اختبار اإلصدار هو التحقق من أن النظام يلبي متطلبات أصحاب المصلحة في النظام. ..3اختبار المستخدم ،حيث يقوم المستخدمون أو المستخدمون المحتملون لنظام باختبار النظام في بيئتهم الخاصة.بالنسبة لمنتجات البرامج ،قد يكون "المستخدم" مجموعة تسويق داخلية تقرر ما إذا كان يمكن تسويق البرنامج وإصداره وبيعه. اختبار القبول هو أحد أنواع اختبارات المستخدم حيث يقوم العميل رسميًا باختبار النظام لتحديد ما إذا كان يجب قبوله من مورد النظام أو إذا كان هناك حاجة إلى مزيد من التطوير. 11 Development testing Development testing includes all testing activities that are carried out by the team developing the system. During development, testing may be carried out at three levels: Unit testing, where individual program units or object classes are tested. Unit testing should focus on testing the functionality of objects or methods. Component Integration testing, where several individual units are integrated to create composite components. Component testing should focus on testing component interfaces. System testing, where some or all of the components in a system are integrated and the system is tested as a whole. System testing should focus on testing component interactions. Development testing is primarily a defect testing process, where the aim of testing is to discover bugs in the software. 12 اختبار التطوير يشمل اختبار التطوير جميع أنشطة االختبار التي يقوم بها الفريق الذي يقوم بتطوير النظام. أثناء التطوير ،يمكن إجراء االختبار على ثالثة مستويات: اختبار الوحدة ،حيث يتم اختبار وحدات البرنامج الفردية أو فئات الكائنات.يجب أن يركز اختبار الوحدة على اختبار وظائف الكائنات أو الطرق. اختبار تكامل المكونات ،حيث يتم دمج عدة وحدات فردية إلنشاء مكونات مركبة.يجب أن يركز اختبار المكونات على اختبار واجهات المكونات. اختبار النظام ،حيث يتم دمج بعض أو كل مكونات النظام ويتم اختبار النظام ككل.يجب أن يركز اختبار النظام على اختبار تفاعالت المكونات .اختبار التطوير هو في األساس عملية اختبار للعيوب ،حيث يكون الهدف من االختبار هو اكتشاف األخطاء في البرنامج. 13 Unit testing Unit testing is the process of testing individual components, such as methods or object classes, in isolation. It is a defect testing process. Units may be: Individual functions or methods within an object Object classes with several attributes and methods Composite components with defined interfaces used to access their functionality. Tests should be calls to these routines with different input parameters. 14 أختبار الوحدة اختبار الوحدة هو عملية اختبار المكونات الفردية ،مثل األساليب أو فئات الكائنات ،بمعزل عن غيرها. إنها عملية اختبار للعيوب. قد تكون الوحدات: وظائف فردية أو طرق داخل كائن فئات الكائن مع العديد من السمات والطرق المكونات المركبة ذات الواجهات المحددة المستخدمة للوصول إلى وظائفها. يجب أن تكون االختبارات عبارة عن استدعاءات لهذه اإلجراءات مع معلمات إدخال مختلفة. 15 Unit (functional) module to be tested results software engineer test cases 16 Unit test Considerations Module interface is tested to ensure information flow Local data structures are examined to ensure that local data maintains its integrity All independent paths are exercised to ensure all statements are executed at least once. Modules operate properly at boundaries established to limit or restrict processing. Error handling paths are tested. 17 اعتبارات اختبار الوحدة يتم اختبار واجهة الوحدة النمطية لضمان تدفق المعلومات يتم فحص هياكل البيانات المحلية للتأكد من أن البيانات المحلية تحافظ على سالمتها تتم ممارسة جميع المسارات المستقلة لضمان تنفيذ جميع العبارات مرة واحدة على األقل. تعمل الوحدات النمطية بشكل صحيح عند الحدود الموضوعة لتقييد المعالجة أو تقييدها. يتم اختبار مسارات معالجة األخطاء. 18 Unit Testing module to be tested interface local data structures boundary conditions independent paths error handling paths واجهه المستخدم test cases هياكل البيانات المحلية شروط الحدود مسارات مستقلة مسارات معالجة األخطاء 19 Unit testing Test cases should uncover errors such as: Comparison of different data types. Incorrect logical operators or procedures. Expectation of equality when precision errors make equality unlikely. Incorrect comparison of errors Improper or nonexistent loop termination. Improperly modified loop variables. 20 أختبار الوحدة يجب أن تكشف حاالت االختبار عن أخطاء مثل: مقارنة أنواع البيانات المختلفة. عوامل أو إجراءات منطقية غير صحيحة. توقع المساواة عندما تجعل أخطاء الدقة المساواة غير محتملة. مقارنة غير صحيحة لألخطاء إنهاء حلقة غير صحيح أو غير موجود. متغيرات الحلقة المعدلة بشكل غير صحيح. 21 Unit Test Environment driver interface local data structures Module boundary conditions independent paths error handling paths stub stub test cases RESULTS 22