جزوه تایپ شده شیمی فیزیک مواد
رشته مهندسی متالورژی مواد خلاصه کتاب پیام نور و دانشگاه آزاد کارشناسی ارشد کاردانی استخدامی شیمی فیزیک مواد دانشگاه علمی کاربردی دکتر
() ً () () ()، ً –()، : ()، ()، ()، ()، ()، ()، ()، ().
()، اساس ماهیت مشکل مطرح می شوند. حتی با وجود این محدودیت ها، تغییرات زیادی در عملیات وجود دارد. حداقل سابقه زندگی رفتاری یک نمونه از حساب، شامل عملیات زیر است: این نشان دهنده حداقل دنباله آزمایشی برای حساب موردنظر است. با این حال، انواع رفتارهای مختلف دیگر نیز ممکن جزوه شیمی فیزیک مواد در این دنباله رخ دهد:
باز کردن • راه اندازی • dep sit • [سپرده گذاری | برداشتن aw | موجودی | su marize | creditLim t] n • برداشتن • بستن
انواع توالی های مختلف عملیات را می توان به شیمی فیزیک تصادفی ایجاد کرد.به عنوان مثال:
مورد آزمایشی r1:
باز کردن • راه اندازی • dep sit • سپرده گذاری • bala ce • خلاصه • w thdraw • بستن
مورد آزمایش r2:
باز کردن • راه اندازی • کاهش وضعیت • برداشت • de osit • موجودی • cre itLimit • برداشت • از دست دادن
این موارد و دیگر آزمایشات تصادفی، برای ایجاد سابقه نمونه های مختلف طبقه انجام می شود. استفاده از پارتیشن بندی معادل آزمایش (بخش 19.5.2)، می تواند تعداد موارد مورد نیاز آزمایش را کاهش دهد.

شیمی فیزیک مواد
صحنه: اتاقک شکیرا.
گفتگوکنندگان: جیمی و شکیرا، اعضای تیم مهندسی نرم افزار SafeHome که روی طراحی مورد آزمایشی برای عملکرد امنیتی کار می کنند.
شکیرا: من برای طبقه آشکارساز [شکل 11.4]، آزمایشاتی رو ایجاد کردم، آزمایشی که امکان دسترسی به همه اشیاء سنسور رو برای عملکرد امنیتی فراهم می کنه. باهاش آشنا هستی؟
جیمی (می خندد): البته، این همون حسگره که بهت اجازه داد سنسور “doggie angst” رو اضافه کنی.
شکیرا: خود خودشه. به هر حال، رابطش چهار تا گزینه داره: خواندن ()، فعال کردن ()، غیرفعال کردن () و آزمایش ().قبل از خوندن سنسور، باید فعالش کنی. بعد از فعال شدن، میشه اون رو خوند و آزمایش کرد. هر زمان بخوای می تونیغیرفعالش کنی، مگر در شرایطی که وضعیت زنگ، در حال پردازش باشه. بنابراین من یه دنباله آزمایشی ساده تعریف کردم که سابقه رفتاریش رو نشون میده. (او شیمی فیزیک زیر را به جیمی نشان می دهد.)
شماره 1: فعال کردن • آزمایش • خواندن غیرفعال
جیمی: این شدنیه، اما باید آزمایش جزوه شیمی فیزیک مواد ازش انجام بدی!
شکیرا: می دونم، می دونم.این هم یه توالی دیگه که بهش رسیدم. (او سکانس های زیر را به جیمی نشان می دهد).
دانلود رایگان خلاصه کتاب پی دی اف pdf کامل جزوه شیمی فیزیک مواد
شماره 2: فعال کردن • آزمایش • [rea] n • آزمایش • غیرفعال کردن
شماره 3: [خواندن] n
شماره 4: فعال کردن • غیرفعال کردن • [est | خواندن]
جیمی: خب بذار ببینم منظور این ها رو متوجه شدم یا نه. شماره 1 از یه زندگی معمولی عبور می کند، نوعی استفاده معمولی. شماره 2 عملیات خوندن رو n بارها تکرار می کنه و این، یه فیلمنامه محتمله. شماره 3 سعی می کنه سنسور رو قبل از فعال شدن بخونه…که باید نوعی پیام خطا تولید کنه، درسته؟ شماره 4 سنسور رو فعال و غیرفعال می کند و بعد سعی می کنه اون رو بخونه. این همون آزمایش شماره 2 نیست؟
شکیرا: در واقع نه. در شماره 4، سنسور فعال شده. چیزی که شماره 4 واقعاً آزمایش می کنه، اینه که آیا عملکرد غیرفعال، اونطور که باید، کار می کنه یا نه. خواندن() یا آزمایش ()، بعد از غیرفعال سازی()، باید پیام خطا رو ایجاد کنه. در غیر اینصورت، خطایی در غیرفعال کردن عملیات خواهیم داشت.
جیمی: باحاله. فقط یادت باشه که چهار آزمایش باید برای هر نوع سنسور اعمال بشه، چون همه گزینه ها بسته به نوع سنسور، می تونن به طور جزئی متفاوت باشن.
شکیرا: نگران نباش. برنامهمون همینه.
2-6-19 آزمایش رفتاری
کاربرد نمودار وضعیت، به عنوان مدلی که رفتار پویای یک طبقه را نشان می دهد، در فصل 8 مورد شیمی فیزیک قرار گرفته است. از نمودار وضعیت، برای یک طبقه، می توان برای دستیابی به یک سری آزمایشات استفاده کرد که رفتار پویای طبقه (و آن دسته از طبقاتی که با آن همکاری می کنند)، را اعمال می کند. شکل 19.7 نمودار وضعیت طبقه حسابی را که قبلاً بحث شد، نشان می دهد. با توجه به شکل، تغییرات اولیه از طریق حالت خالی acct و setup acct حرکت می کند. اکثریت همه رفتارها برای نمونه های طبقه، در حالت فعال رخ می دهند. برداشت نهایی و بسته شدن حساب، باعث می شود که طبقه حساب، به ترتیب به حالت جزوه شیمی فیزیک مواد غیر فعال و acct مرده تبدیل شود. یعنی توالی عملیات باید باعث شود که کلاس Account، از همه حالت های مجاز عبور کند:
مورد آزمایش s1: باز کردن • setupAccn • سپرده (اولیه) • برداشت (نهایی) • بسته شدن
اضافه کردن توالی های آزمایشی اضافی به حداقل دنباله،
مورد آزمایشی s2: باز کردن • راه اندازی • سپرده (اولیه) • سپرده گذاری • موجودی • ج ویرایش • برداشت (نهایی) • بسته شدن
مورد آزمایشی s3: باز • setupAccnt • سپرده (اولیه) • سپرده • برداشت • accntInfo •
برداشتن (نهایی) • بستن
تصویر 7-19
برای اطمینان از انجام مناسب تمام شیمی فیزیک طبقه، همچنان می توان موارد آزمایشی بیشتری را به دست آورد. در شرایطی که رفتار طبقه منجر به همکاری با یک یا چند طبقه می شود، از نمودارهای چند حالته برای ردیابی جریان رفتاری سیستم استفاده می شود. مدل حالت را می توان به شیوه “جستجوی عرضی (اول-سطح)”، پیمایش کرد. در این زمینه، جستجوی عرضی نشان می دهد که یک مورد آزمایشی، یک انتقال واحد را انجام می دهد و برای آزمایش یک انتقال جدید، فقط از انتقال های قبلی آزمایش شده، استفاده می شود. یک شی CreditCard را در نظر بگیرید که بخشی از سیستم بانکی است. وضعیت اولیه CreditCard نامشخص است (یعنی شماره کارت اعتباری ارائه نشده است). با خواندن کارت اعتباری در حین فروش، شیء وضعیت مشخصی پیدا می کند؛ یعنی شماره کارت و تاریخ انقضا، همراه با شناسه های خاص بانک، تعریف شده است. کارت اعتباری، هنگام ارسال برای مجوز، ارسال می شود و هنگام دریافت مجوز، تأیید می شود. در این نوع آزمایش، قبل از اعمال نامشخص و تعریف شده، رویکرد جستجوی عرضی اعمال نمی شود.اما در صورت اعمال، از انتقال هایی استفاده می کند که قبلاً آزمایش نشده بودند و بنابراین معیار اول-سطح را نقض می کردند.
7-19 خلاصه
آزمایش نرم افزار، بیشترین درصد تلاش فنی در فرآیند نرم افزار را به خود اختصاص می دهد. صرف نظر از نوع نرم افزاری که می سازید، یک استراتژی برای برنامه ریزی، اجرا و کنترل آزمون سیستماتیک، با در نظر گرفتن عناصر کوچک نرم افزار شروع می شود و به طور کلی به سمت برنامه حرکت می کند. هدف از آزمایش نرم افزار، کشف خطاها است. برای نرم افزارهای معمولی، این هدف از طریق یک سری مراحل آزمایشی به دست می آید. آزمایشات واحد و ادغام (در فصل 20 بحث شده است)، بر تأیید عملکرد یک جزء و ترکیب اجزاء در معماری نرم افزار، متمرکز هستند. استراتژی آزمایش نرم افزارهای شیء گرا، با آزمایشاتی شروع می شود که عملیات را در یک طبقه انجام می دهند و سپس برای یکپارچه سازی، به آزمایش مبتنی بر thread (بخش 20.4.1)، می روند.thread ها مجموعه ای از طبقات هستند که به ورودی یا رویداد پاسخ می دهند. موارد آزمایش باید با نیازهای نرم افزاری قابل پیگیری باشد. هر مرحله آزمایشی از طریق یک سری تکنیک های تست سیستماتیک انجام می شود که در طراحی شیمی فیزیک آزمایشی کمک می کند. هدف اولیه برای طراحی مورد آزمایش، بدست آوردن مجموعه ای از آزمایشات است که بیشترین احتمال را برای کشف خطاها در نرم افزار دارند. برای دستیابی به این هدف، از دو دسته مختلف تکنیک های طراحی نمونه مورد کاربری استفاده می شود: آزمایش جعبه سفید و آزمایش جعبه سیاه. آزمایشات جعبه سفید، بر ساختار کنترل برنامه تمرکز می کند. موارد آزمایشی برای اطمینان از اجرای تمام دستورات موجود در برنامه، حداقل یک بار در حین آزمایش، و اعمال تمام منطقی شرایط، استفاده می شوند. آزمایش مسیر اصلی، یک تکنیک جعبه سفید، از نمودارهای برنامه (یا ماتریس های نمودار) برای بدست آوردن مجموعه ای از آزمایشات مستقل خطی تضمین کننده عملکرد، استفاده می کند. آزمایش وضعیت و جریان داده، منطق برنامه کار را بیشتر می کند و آزمایش حلقه، با ارائه روشی برای ایجاد حلقه هایی با درجه پیچیدگی متفاوت، سایر تکنیک های جعبه سفید را تکمیل می کند.
آزمایشات جعبه سیاه برای اعتبارسنجی جزوه شیمی فیزیک مواد عملکردی، بدون در نظر گرفتن عملکرد داخلی یک برنامه طراحی شده اند. تکنیک های آزمایش جعبه سیاه، بر حوزه اطلاعات نرم افزار تمرکز می کند و با تقسیم بندی حوزه ورودی و خروجی یک برنامه، به گونه ای که عملکرد کامل آزموآزمایشن را فراهم می کند، موارد آزمایشی را بدست می آورد. تقسیم بندی معادل، حوزه ورودی را به دسته هایی از داده ها تقسیم می کند که احتمالاً عملکرد نرم افزاری خاصی را اعمال می کنند. تجزیه و تحلیل مقدار مرزی، توانایی برنامه در مدیریت داده ها در محدوده قابل قبول را بررسی می کند. برخلاف آزمایش (یک فعالیت منظم و برنامه ریزی شده)، اشکال زدایی را می توان یک هنر دانست. با شروع علامت گذاری یک مشکل، فعالیت اشکال زدایی باید علت خطا را پیگیری کند. آزمایش، گاهی اوقات می تواند به یافتن علت اصلی خطا کمک کند. اما اغلب، ارزشمندترین منبع، مشاوره سایر اعضای کادر مهندسی نرم افزار است.
مسائل و نکات قابل تأمل
1-19 تقاوت بین تأیید و اعتبارسنجی را به بیان خود توضیح دهید. آیا هر دو از روش های طراحی نمونه آزمایش و استراتژی های آزمایش استفاده می کنند؟
2-19 برخی از مشکلات مرتبط با ایجاد یک گروه آزمایشی مستقل را ذکر کنید. آیا ITG و گروه SQA، متشکل از افراد یکسانی هستند؟
3-19 چرا آزمایش واحد یک ماژول بسیار درگیر، مشکل است؟
4-19 آیا آزمایش واحد، در هر شرایطی ممکن یا حتی مطلوب است؟ برای توجیه پاسخ خود، نمونه هایی ارائه دهید.
5-19 آیا می توانید به اهداف آزمایش شیمی فیزیک که در بخش 19.1.1 بحث نشده است، فکر کنید؟
6-19 یک جزء نرم افزاری را که اخیراً طراحی و پیاده سازی کرده اید، انتخاب کنید. مجموعه ای از موارد آزمایشی را طراحی کنید که با استفاده از روش مسیر اصلی، از اجرای همه دستورات اطمینان حاصل کند.
7-19 مایرز از برنامه زیر به عنوان ارزیابی خود برای توانایی شما در تعیین آزمایش کافی استفاده می کند: هر برنامه، سه مقدار صحیح را می خواند. این سه مقدار، به عنوان نمایی از طول اضلاع یک مثلث، تفسیر می شوند. این برنامه، پیامی را چاپ می کند که می گوید آیا مثلث اسکالن، متساوی الساقین یا متساوی الاضلاع است. مجموعه ای از موارد آزمایشی ایجاد کنید که احساس می کنید این برنامه را به اندازه کافی آزمایش می کند.
8-19 برنامه مطره شده در مسئله 7-19 را طراحی و اجرا کنید (در صورت لزوم، خطاها را مدیریت کنید). یک نمودار جریان برای جزوه شیمی فیزیک مواد تهیه کنید و از آزمایش مسیر اصلی برای توسعه موارد آزمایشی استفاده کنید که تضمین می کند که تمام عبارات برنامه، آزمایش شده اند. موارد را اجرا کنید و نتایج خود را نشان دهید.
9-19 حداقل سه مثال ارائه دهید که در آن ها آزمایش جعبه سیاه، وضعیت را “خوب” جلوه می دهد، در حالی که آزمایشات جعبه سفید ممکن است خطایی را کشف کند و یا برعکس.
10-19 به بیان خود، توضیح دهید که چرا طبقه، کوچکترین واحد معقول برای آزمایش در یک سیستم OO است.
فصل بیستم: آزمایش نرم افزار-سطح ادغام
یک توسعه دهنده می تواند بدون دخالت سایر اعضای تیم، اجزای نرم افزار را آزمایش کند.
این موضوع، در مورد آزمایش ادغام که در آن یک جزء باید به درستی با اجزای توسعه یافته توسط سایر اعضای تیم تعامل داشته باشد، صادق نیست.
آزمایش ادغام، بسیاری از نقاط ضعف گروه های توسعه نرم افزار را که به صورت تیمی کنار نرفته اند، برملا می کند. آزمایش ادغام، یک مشکل جالب برای مهندسین نرم افزار، که ماهیتاً افرادی سازنده هستند ارائه می دهد. در حقیقت، همه آزمایش ها مستلزم این است که توسعه دهندگان، مفاهیم پیش فرض “درست بودن” نرم افزاری را که تازه توسعه داده اند کنار بگذارند و در عوض برای طراحی “آزمایش” برای “شکستن” نرم افزار، سخت تلاش کنند.یعنی اعضای تیم باید بتوانند پیشنهادات سایر اعضای تیم را مبنی بر عدم عملکرد درست کد خود، به عنوان بخشی از آخرین افزونه نرم جزوه شیمی فیزیک مواد ، مورد شیمی فیزیک قرار دهند.
نگاهی سریع
آزمایش ادغام، چیست؟ آزمایش یکپارچه سازی، اجزا را به گونه ای مونتاژ می کند، که امکان آزمایش عملکردهای نرم افزاری بزرگتر را با هدف یافتن خطاها در هنگام مونتاژ نرم افزار، فراهم می کند.
چه کسی مسئول این کار است؟ در مراحل اولیه آزمایش ، یک مهندس نرم افزار تمام آزمایشات را انجام می دهد. با این حال ، با پیشرفت روند آزمایش، ممکن است علاوه بر سایر سهامداران، متخصصان آزمایش نیز درگیر شوند.
علت اهمیت این آزمایش، چیست؟ موارد آزمایشی باید با استفاده از تکنیک های منظم طراحی شود، تا اطمینان حاصل شود که اجزاء، به درستی در محصول نرم افزاری کامل، ادغام شده اند. این آزمایش، چه مراحلی دارد؟ منطق برنامه داخلی با استفاده از تکنیک های طراحی مورد آزمایشی “جعبه سفید” و الزامات نرم افزاری با استفاده از تکنیک های طراحی مورد آزمایشی تست جعبه سیاه انجام می شود.
محصول این آزمایش چیست؟ مجموعه ای از موارد آزمایشی که برای ایجاد منطق داخلی، رابط ها، همکاری اجزاء و نیازهای خارجی، طراحی وثبت شده، و نتایج مورد انتظار تعریف شده و نتایج واقعی ثبت می شوند.
چگونه از انجام کار، اطمینان حاصل کنم؟ با شروع آزمایش، دیدگاه خود را تغییر دهید.
برای “شکستن” نرم افزار، سخت تلاش کنید! موارد آزمایشی را به شیوه ای منظم طراحی کنید، و دقت موارد آزمایشی را که ایجاد کردهاید، بررسی کنید.

دانلود رایگان خلاصه کتاب شیمی فیزیک مواد PDF
بیزر، یک “افسانه نرم افزاری” را توصیف می کند که همه آزمایش کنندگان با آن روبرو هستند. او می گوید: “یک افسانه وجود دارد که اگر ما واقعاً در برنامه نویسی خوب بودیم، هیچ مشکلی وجود نداشت…اشکالات وجود دارند، زیرا ما در کاری که انجام می دهیم بد هستیم و برای این عملکرد بد، باید احساس گناه کنیم.” آیا آزمایش باید باعث احساس گناه شود؟ پاسخ این سؤالات، منفی است. در ابتدای این کتاب، بر این واقعیت تأکید کردیم که نرم افزار، تنها یک عنصر از یک سیستم کامپیوتری بزرگتر است.
در نهایت، نرم افزار با سایر عناصر سیستم (به عنوان مثال، سخت افزار، افراد ، اطلاعات) ترکیب شده و آزمایش سیستم ها (مجموعه ای از آزمایشات یکپارچگی و اعتبارسنجی سیستم)، انجام می شود. این آزمایشات، خارج از محدوده فرایند نرم جزوه شیمی فیزیک مواد هستند و منحصراً توسط مهندسان نرم افزار انجام نمی شود. با این حال ، اقدامات انجام شده در هنگام طراحی و آزمایش نرم افزار می شیمی فیزیک احتمال یکپارچگی نرم افزاری موفق را در سیستم بزرگتر، تا حد زیادی افزایش دهد. در این فصل، تکنیک های استراتژی های تست یکپارچه سازی نرم افزار قابل استفاده در برنامه های کاربردی نرم افزار را مورد بحث قرار می دهیم. استراتژی های تست نرم افزاری تخصصی، در فصل 21 مورد بحث قرار خواهد گرفت.
اصول آزمایش نرم افزار
هدف از آزمایش، یافتن خطا است و یک آزمایش خوب، آزمایشی است که احتمال یافتن خطا در آن زیاد است. کانر ، فالک و نگوین ویژگی های زیر را برای یک آزمون “خوب” پیشنهاد می کنند:
یک آزمون خوب، احتمال زیادی برای یافتن خطا دارد. برای دستیابی به این هدف ، آزمایش کننده باید نرم افزار را درک کند و سعی کند تصویری ذهنی از چگونگی شکست نرم افزار ارائه دهد.
یک آزمون خوب، مازاد بر نیاز نیست. زمان و جزوه شیمی فیزیک مواد آزمایش، محدود هستند. انجام آزمایشی که هدف مشابهی با آزمون دیگر دارد، فایده ای ندارد. هر آزمون باید دارای هدف متفاوتی باشد (حتی اگر به طور جزئی متفاوت باشد).
یک آزمون خوب باید از “بهترین نوع” باشد. در گروهی از آزمایش ها با هدف مشابه، محدودیت زمان و منابع ممکن است اجرای آزمایش هایی را که بیشترین احتمال کشف خطا را دارند، توصیه کند.
یک آزمون خوب، نباید خیلی ساده و یا خیلی پیچیده باشد. اگرچه گاهی اوقات ممکن است مجموعه ای از آزمایش ها را در یک مورد آزمایشی ترکیب کنید، اما عوارض جانبی احتمالی مرتبط با این روش، می تواند خطاها را پنهان کند. به طور کلی، هر آزمون باید جداگانه اجرا شود. هر محصول مهندسی شده (و بیشتر موارد دیگر) را می توان به یکی از دو روش زیر آزمایش کرد:
(1) با علم به عملکرد مشخصی که یک محصول برای انجام آن طراحی شده شیمی فیزیک ، می توان آزمایش هایی را انجام داد که نشان می دهد هر عملکرد کاملاً عملیاتی است و در عین حال، در هر عملکردی، خطاها را جستجو می کند.(2) با آگاهی از عملکرد داخلی یک محصول، می توان آزمایش هایی را انجام داد تا اطمینان حاصل شود که “همه چرخ دنده ها مشبک هستند”؛ یعنی عملیات داخلی مطابق مشخصات، انجام شده و تمام اجزای داخلی، به اندازه کافی آماده شده اند. اولین رویکرد آزمایشی، یک دید خارجی از آزمایش دارد و آزمایش جعبه سیاه نامیده می شود. مورد دوم، نیاز به یک دید داخلی از آزمایش دارد و به آن آزمایش جعبه سفید می گویند؛ و هر دو، در آزمایش ادغام، مفید هستند.
1-1-20 آزمایش جعبه سیاه
آزمایش جعبه سیاه، به آزمایش ادغامی اشاره می کند که با به کار گرفتن رابط اجزا با اجزای دیگر و سایر سیستم ها انجام می شود. این بخش، برخی از جنبه های اساسی یک سیستم را با کمی توجه به ساختار منطقی داخلی نرم افزار، بررسی می کند. در عوض، تمرکز بر اطمینان از اجرای صحیح جزء در ساخت نرم افزار بزرگتر، زمانی است که داده های ورودی و زمینه نرم افزاری که با پیش شرط های آن مشخص شده است، صحیح باشد و به شیوه هایی که در شرایط پس از آن مشخص شده، رفتار کند. البته باید مطمئن شویم که یک جزء، در صورت برآورده نشدن پیش شرط های خود، عملکرد درستی داشته باشد(به عنوان مثال، بتواند ورودی های بد را بدون خرابی کنترل کند). آزمایش جعبه سیاه بر اساس الزامات مشخص شده در داستان های کاربر (فصل 7) است. نویسندگان مورد آزمایشی، نیازی ندارند تا برای نوشتن کد پیاده سازی جزء، پس از تعریف رابط جزء، منتظر بمانند. برای پیاده سازی عملکرد تعریف شده توسط یک داستان کاربر، ممکن است نیاز به نوشتن چندین جزء همکاری باشد. آزمایش اعتبار سنجی (بخش 20.5)، اغلب موارد آزمایش جعبه سیاه را بر اساس اقدامات ورودی قابل مشاهده توسط کاربر و رفتارهای شیمی فیزیک قابل مشاهده، بدون هیچ گونه آگاهی از نحوه اجرای اجزا، تعریف می کند.
2-1-20 آزمایش جعبه سفید
آزمایش جعبه سفید، که گاهی آزمایش جعبه شیشه ای یا آزمایش ساختاری نیز جزوه شیمی فیزیک مواد می شود، یک فلسفه آزمایش ادغامی است که از دانش پیاده سازی ساختارهای کنترل توصیف شده به عنوان بخشی از طراحی اجزا، برای استخراج موارد آزمایشی استفاده می کند. آزمایش جعبه سفید نرم افزار بر اساس بررسی دقیق جزئیات پیاده سازی رویه ای و جزئیات پیاده سازی ساختار داده انجام می شود. آزمایشات جعبه سفید تنها پس از وجود طراحی سطح (یا کد منبع) امکان پذیر است.توجه کنید که جزئیات منطقی برنامه باید همواره در دسترس باشد. تمرکز جزوه شیمی مواد غذایی یکپارچه سازی جعبه سفید، بر مسیرهای منطقی از طریق نرم افزار و همکاری بین اجزاء است. در نگاه اول به نظر می رسد که آزمایش بسیار دقیق جعبه سفید، منجر به “برنامه های 100 درصد صحیح” می شود. تنها کاری که باید انجام دهیم این است که تمام مسیرهای منطقی را تعریف کنیم، موارد آزمایشی را برای به کارگیری آن ها بسازیم و نتایج را ارزیابی کنیم، یعنی موارد آزمایشی را برای به کار گیری منطقی برنامه به طور کامل، ایجاد کنیم. متأسفانه، آزمایش جامع، مشکلات راهبردی خاصی را ارائه می دهد. حتی برای برنامه های کوچک، تعداد مسیرهای منطقی ممکن است بسیار زیاد باشد. با این حال، آزمایش جعبه سفید را نباید غیر عملی در نظر گرفت. ضمن یکپارچه سازی اجزاء، آزمایش کنندگان باید تعداد معقولی از مسیرهای منطقی مهم را برای به کار گیری انتخاب کنند. پس از ادغام اجزا، ساختارهای مهم داده نیز باید از نظر اعتبار، مورد آزمایش قرار گیرند.
2-20 آزمایش ادغام
یک نئوفیت در دنیای نرم افزار، پس از آزمایش واحد همه ماژول ها، سؤال قابل توجهی می پرسد:
“اگر همه اجزا به صورت جداگانه کار می کنند، چرا باید به عملکرد مجموعه ادغام شده آن ها شک کرد ؟”البته مشکل، “قراردادن آن ها کنار یکدیگر” است.داده ها را می توان در سراسر رابط از بین برد؛ یک جزء می تواند اثر ناخواسته و نامطلوبی بر شیمی فیزیک داشته باشد؛ اگر عملکردهای فرعی ترکیب شوند، ممکن است عملکرد اصلی مورد نظر را ایجاد نکنند؛ عدم دقت قابل قبول به صورت جداگانه، ممکن است تا سطوح غیر قابل قبول، رشد کند، و ساختارهای داده سراسری می توانند مشکلاتی را ایجاد کنند. متأسفانه، این لیست همچنان ادامه دارد. آزمایش ادغام، یک تکنیک سیستماتیک برای ساخت معماری نرم افزار و در عین حال، انجام آزمایشات، برای کشف خطاهای مرتبط با رابط است. هدف این است که با استفاده از اجزای مورد آزمایش واحد، ساختار برنامه ای را که بر اساس طراحی دیکته شده است، ایجاد کنیم. اغلب افراد، تمایل به تلاش برای ادغام غیر ذهنی دارند، یعنی ترجیح می دهند برنامه را با استفاده از رویکرد “انفجار بزرگ” بسازند. در رویکرد انفجار بزرگ، همه اجزا از قبل ترکیب شده و کل برنامه به طور کلی آزمایش می شود. هرج و مرج، معمولاً نتیجه می دهد! در این مرحله، با خطاهایی روبرو می شویم، اما تصحیح آن ها دشوار است؛ زیرا جداسازی دلایل با گستردگی وسیع کل برنامه، پیچیده است. اتخاذ رویکرد انفجار بزرگ در ادغام، یک استراتژی کند و ناکارآمد است که محکوم به شکست است. جزوه شیمی فیزیک مواد افزایشی، نقطه مقابل رویکرد انفجار بزرگ است.در نهایت، برنامه در مقیاس های کوچک ساخته شده و آزمایش می شود، در این مرحله، جداسازی و تصحیح خطاها آسان تر است؛ به احتمال زیاد رابط ها به طور کامل آزمایش می شوند و ممکن است از رویکرد آزمون سیستماتیک استفاده شود. و هر چه جلوتر بروید، ادغام تدریجی، شیمی فیزیک مقرون به صرفه تری خواهد بود. در ادامه این فصل، چندین استراتژی رایج آزمایش ادغام افزایشی را مورد بحث قرار می دهیم.
تصویر 1-20
1-2-20ادغام از بالا به پایین
آزمایش ادغام از بالا به پایین، یک رویکرد افزایشی برای ساخت معماری نرم افزار است. ماژول ها (که در این کتاب به آن اجزا نیز گفته می شود)، با حرکت به سمت پایین از طریق سلسله مراتب کنترل، با ماژول اصلی کنترل، (برنامه اصلی)، شروع به ادغام می کنند. ماژول های زیرمجموعه (و در نهایت تابع) ماژول کنترل اصلی، به صورت عمقی یا گسترده، در ساختار گنجانده شده اند. با توجه به شکل 20.1، ادغام عمیق، اولین اجزا را در یک مسیر اصلی کنترل ساختار برنامه ادغام می کند. انتخاب یک مسیر اصلی تا حدودی دلخواه است و به ویژگیهای خاص برنامه بستگی دارد (به عنوان مثال، اجزای مورد نیاز برای پیاده سازی یک مورد کاربری). به عنوان مثال، با انتخاب مسیر سمت چپ، اجزای M1، M2 ، M5 ، ابتدا یکپارچه می شود.سپس بعد، M8 (در صورت لزوم برای عملکرد مناسب M2) یا M6 یکپارچه می شود. سپس، مسیرهای کنترل مرکزی و راست ساخته می شوند. ادغام اول-سطح، شامل همه اجزاء مستقیماً تابع در هر سطح، می شود و به صورت افقی در سراسر ساختار حرکت می کند. با توجه به شکل، ابتدا اجزای M2، M3 و M4 یکپارچه می شوند. سطح کنترل بعدی، M5، M6 و … می باشد. فرآیند ادغام، در یک سری از پنج مرحله انجام می شود:
تصویر 2-20
1. ماژول کنترل اصلی، به عنوان یک درایور آزمایشی استفاده می شود و استاب ها، جایگزین همه اجزای مستقیماً تابع ماژول کنترل اصلی، می شوند.
2. بسته به رویکرد ادغام انتخاب شده (یعنی ابتدا عمق یا عرض)، استاب های زیرمجموعه، یک به یک با اجزای واقعی جایگزین می شوند.
3. آزمایشات با ترکیب هر جزء انجام می شود.
4. پس از اتمام هر مجموعه آزمایش، یک استاب دیگر، با جزء واقعی جایگزین می شود.
5. آزمایش رگرسیون (بعداً در این بخش مورد بحث قرار می گیرد) ممکن شیمی فیزیک برای اطمینان از عدم معرفی خطاهای جدید انجام شود.
این فرآیند، از مرحله 2 تا ایجاد کل ساختار برنامه ادامه می یابد. استراتژی یکپارچه سازی از بالا به پایین، نقاط اصلی کنترل یا تصمیم گیری را در مراحل اولیه آزمایش تأیید می کند. در ساختار یک برنامه “به خوبی در نظر گرفته شده”، تصمیم گیری در سطوح بالای سلسله جزوه شیمی فیزیک مواد تب رخ می دهد و بنابراین ابتدا با آن مواجه می شود. در صورت وجود مشکلات کنترل عمده، تشخیص زودهنگام ضروری است. اگر ادغام عمق اول انتخاب شود، ممکن است عملکرد کامل نرم افزار، پیاده سازی و نشان داده شود. نشان دادن زودهنگام قابلیت های عملکردی، اعتماد همه سهامداران را جلب می کند.
2-2-20 ادغام از پایین () :
() ()، ()، ً
فهرست مطالب