کتاب Modern Software Testing Techniques: A Practical Guide for Developers and Testers (تکنیکهای مدرن تست نرم افزار: راهنمای عملی برای توسعهدهندگان و آزمایشکنندگان) علاوه بر شرح مفاهیم تست نرمافزار، ابزارها و نکات مهم و جدید برای این فعالیت را در 5 فصل به صورت خلاصه بیان میکند.
در ادامه مقدمهای از کتاب Modern Software Testing Techniques را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Modern Software Testing Techniques:
اوه خدای من، یک کتاب دیگر در مورد تست نرم افزار…
در واقع، کتابهای زیادی قبلاً در مورد تست نرمافزار نوشته شده است. اکثر آنها چارچوب کلی تست را از دیدگاههای مختلف مورد بحث قرار میدهند. البته در یک پروژه آزمایشی، جنبههای روش شناختی و سازمانی ضروری است.
با این حال، سازماندهی عالی آزمون تنها یکی از اجزای اثربخشی آزمون است. شما به نرمافزاری نیاز دارید که فقط چند باگ داشته باشد یا هیچ باگ نداشته باشد. در صورتی میتوان به این امر دست یافت که آزمایشها بتوانند همه یا تقریباً همه ایرادات را تشخیص دهند.
هدف ایجاد آزمونهای کارآمد و مؤثر است. تمام کتابهای جامع تست نرمافزار که شامل طراحی تست میشوند، حاوی همین داستان هستند: مثالهای ساده در مورد تست کاربرد، پارتیشنبندی معادل (EP)، تجزیه و تحلیل ارزش مرزی (BVA)، تست انتقال حالت (STT) و غیره.
وضعیت فعلی آزمون نرمافزار طراحی مانند مکانیک کلاسیک است: تقریباً هیچ چیز از زمان نیوتن تغییر نکرده است. مطالب فعلی در مورد تست نرمافزار و به خصوص در مورد طراحی تست نرمافزار یا بیاهمیت یا متناقض و یا حتی منسوخ هستند.
تکنیکهای طراحی آزمون موجود تنها بهترین روشها هستند. تکنیکهای اعمالشده در رابطه با قابلیت کشف اشکال و قابلیت اطمینان تأیید نشدهاند. برای مثال، تکنیکهای فعلی EP و BVA نتایج غیرقابل اعتمادی را حتی در مورد یک محمول منفرد میدهند که بیان میکند دو یا سه مورد آزمایش کافی است. وضعیت آزمایش مورد استفاده بهتر نیست. یعنی چندین باگ شناسایی نشده باقی میمانند. تست مدرن نیاز به تکنیکهای تست کارآمدتر و مدلهای تست دارد.
بیشتر بخوانید: کتاب Software Testing Strategies
در کتاب Modern Software Testing Techniques، ما یک طبقهبندی اساسی از اشکالات نرمافزار را از نظر مشخصات عملکردی نشان میدهیم. ما نشان میدهیم که چرا تکنیکهای طراحی تست سنتی ناکارآمد هستند، و راهحلهای قابل اعتماد و کارآمدی را برای آشکار کردن انواع مختلف خطاها ارائه میکنیم. ما متقاعد شدهایم که تکنیکهای جدید در تست نرمافزار ضروری است وامیدواریم با به کارگیری روشهای خود، نرمافزار در آینده بهتر شود.
در دهه گذشته، پذیرش فناوریهای جدید اتوماسیون تست مانند اتوماسیون تست بدون کد منجر به آزمایش کارآمدتر شده است که میتواند در زمان و تلاش صرفهجویی کند. مجازیسازی بهینهسازی فرآیندهای فناوری را امکانپذیر میکند.
تست چابک باعث شد تا وظایف تست بیشتر بر مشتری متمرکز شود. همه پیشرفتهای ذکر شده بر تست نرمافزار تأثیر مثبت میگذارد. با این حال، این پیشرفتها منجر به نرمافزار قابل توجه بهتری نشد. هدف ما بهبود اساسی کیفیت نرمافزار است. این را میتوان با تکنیکهای طراحی آزمایشی قابل اعتماد با قابلیتهای کارآمدتر آشکارسازی خطا به دست آورد. این دقیقاً همان چیزی است که ما در کتاب خود به دنبال آن هستیم.
مطمئناً متوجه شدهاید که برنامههای نرمافزاری حاوی اشکالات متعددی هستند. در سال ۱۹۶۹، ما توانستیم انسانها را به ماه بفرستیم و برگردیم، اما بیش از ۵۰ سال بعد، ما قادر به تولید نرمافزار \”تقریباً بدون اشکال\” نیستیم. ما میدانیم که آزمایش جامع غیرممکن است.
آیا این دلیل واقعی باگهایی است که پس از تست در نرمافزار باقی میماند؟ اصلا. شما نمیتوانید تمام اشکالات موجود در نرمافزارهای بزرگ را پیدا کنید. با این حال، شما میتوانید \”تقریبا\” همه آنها را پیدا کنید.
ممکن است بگویید: \”بسیار خوب، اما هزینه بسیار بالا خواهد بود، و بهتر است اشکالات پیچیده را در کد بگذارم. \” و ممکن است مسیر معمول تبدیل خطاها به ویژگیها را دنبال کنید. این کار را نکن! تقریباً تمام اشکالات را میتوان با استفاده از تکنیکهای طراحی آزمایشی که در کتاب Modern Software Testing Techniques توضیح داده شده است پیدا کرد.
بیشتر بخوانید: کتاب Introduction to Software Testing
در کتاب Modern Software Testing Techniques، مفهوم تست مبتنی بر مدل دو فازی، تست حالت عمل و تست دامنه بهینه را معرفی میکنیم. این تکنیکها را میتوان برای یافتن بیشتر باگها استفاده کرد، در صورتی که آزمایشکننده صالح و فرضیههای اثر جفتشوندگی وجود داشته باشند. فرضیه اول بیان میکند که آزمایشکنندگان موارد آزمایشی را ایجاد میکنند که نزدیک به یک مجموعه آزمایشی قابل اعتماد برای برنامه صحیح هستند.
فرضیه دوم بیان میکند که مجموعه آزمایشی که میتواند وجود خطاهای منفرد را در اجرا تشخیص دهد، احتمالاً وجود چندین خطا را نیز تشخیص میدهد. همانطور که تمام مطالعات موردی تاکنون این فرضیه را توجیه کردهاند، ما به شدت به آن اعتقاد داریم.
کتاب Modern Software Testing Techniques ما بخشی از دانش طراحی آزمون و متدولوژی کاربردی ما است که از سه عنصر تشکیل شده است:
۱. با خواندن این کتاب بیاموزید.
۲. با مراجعه به وب سایت ما، وظایف ما را انجام دهید: https://test-design.org/practical-exercises/.
۳. با استفاده از الگوریتمها و ابزارهای ما، تکنیکهای طراحی تست جدید ما را برای وظایف خود به کار ببرید.
در پلت فرم تمرین ما، شما نه تنها میتوانید دانش خود را بررسی کنید، بلکه پلتفرم همچنین توضیح میدهد که چگونه میتوانید آن را بهبود ببخشید، یعنی کدام آزمونها از دست رفتهاند. پیشنهاد میکنیم ابتدا با استفاده از تکنیکهای سنتی و سپس تکنیکهای جدید، چند تمرین را حل کنید. شما تغییر را خواهید دید. با به کارگیری تکنیکهای جدید، کیسهای آزمایشی که طراحی میکنید تقریباً تمام اشکالات را پیدا خواهند کرد.
کتاب Modern Software Testing Techniques هم برای توسعهدهندگان و هم برای آزمایشکنندگان است. فصل ۱ خلاصهای واضح و کوتاه از تست نرمافزار است. توسعهدهندگان و خوانندگان آزمایشکننده ما آن را مفید خواهند یافت. این شامل بخشهایی است که توضیح میدهد چرا تجزیه و تحلیل ریسک اجباری است، چگونه اشکالات را به طور عملی طبقهبندی کنیم، و چگونه میتوان از آزمایش مبتنی بر خطا برای بهبود طراحی تست استفاده کرد. قسمت آخر این کتاب شامل فصلی است در مورد اینکه چگونه توسعهدهندگان و آزمایشکنندگان میتوانند به یکدیگر کمک کنند و به عنوان یک تیم عالی کار کنند.
اگر علاقهمند به مطالعه عمیقتر طراحی تست نرمافزار سنتی هستید، پیشنهاد میکنیم کتاب قبلی طراحی تست عملی را مطالعه کنید. آن کتاب شامل مثالها، توضیحات و تکنیکهای بیاهمیت است، و ما فکر میکنیم که کتاب قبلی مقدمهای عالی برای کتاب Modern Software Testing Techniques است. از طرفی این کتاب را میتوان مستقل از کتاب قبلی خواند.
امیدواریم بتوانیم با کتاب Modern Software Testing Techniques از حرفه شما (به عنوان یک توسعه دهنده یا آزمایشکننده) حمایت کنیم. هدف ما فقط فروش کتاب نیست، بلکه بهبود کیفیت کلی نرمافزار است، جایی که مشتریان راضی با خوشحالی از برنامههای ارائه شده به آنها استفاده میکنند.
سرفصلهای کتاب Modern Software Testing Techniques:
- Table of Contents
- About the Authors
- About the Technical Reviewer
- Acknowledgments
- Introduction
- Abbreviations
- Chapter 1: Software Testing Basics
- Chapter 2: Test Design Automation by Model-Based Testing
- Chapter 3: Domain Testing
- Chapter 4: Developers and Testers Should Constitute a Successful Team
- Chapter 5: Conclusion
- Appendixes
- Glossary
- References
- Index
جهت دانلود کتاب Modern Software Testing Techniques میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.