کتاب Software Testing with Generative AI (آزمایش نرمافزار با هوش مصنوعی مولد) به شما کمک میکند تا با بهرهگیری از مدلهای زبانی بزرگ (LLM)، فرآیند آزمایش نرمافزار را بهبود بخشید و به سطح بالاتری ببرید. این کتاب با تمرکز بر سه اصل کلیدی – ذهنیت، تکنیک و زمینه – شما را راهنمایی میکند تا از LLMها در فعالیتهای تست خود به بهترین نحو استفاده کنید.
در ادامه مقدمهای از کتاب Software Testing with Generative AI را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Software Testing with Generative AI:
سفر من به دنیای هوش مصنوعی، در سال ۲۰۱۷ در یک بار هتل آغاز شد. در کنار دوستی نشسته بودم و علاقه خود را به آیندهای که ممکن است در انتظار کسانی باشد که در زمینهٔ کیفیت و تست فعالیت میکنند، در دنیایی که هوش مصنوعی به طور فزایندهای در حال گسترش است، ابراز کردم.
دوستم چند پست وبلاگ و چند بطری آبجو با من به اشتراک گذاشت و با وجود سردرد روز بعد، من مجذوب شدم. با یادگیری تأثیرات بالقوهای که هوش مصنوعی میتواند بر همهٔ ما داشته باشد، تلاش کردم تا حد امکان درک کنم که چگونه میتوان هوش مصنوعی را آزمایش کرد و از آن برای ارتقای تستها استفاده کرد.
چالش، یا حداقل چیزی که من آن زمان تصور میکردم، این بود که مانع درک و استفاده از هوش مصنوعی برای کسی مثل من بسیار بالا بود. احساس میکردم میتوانم سطحی را خراش دهم، اما بدون داشتن زمان و منابع کافی، نمیتوانستم عمیقتر کاوش کنم. با این حال، این دیگر صادق نیست.
انفجار مدلهای بزرگ زبانی (LLM) مانند ChatGPT، Gemini و Llama، تعادل کسانی که میتوانند از هوش مصنوعی استفاده کنند و از آن بهرهمند شوند را تغییر داده است. LLMها با معرفی دستیاران کدنویسی، چتباتها و موارد دیگر، در توسعهٔ نرمافزار گسترده شدهاند. من این مقدمه را با پشتیبانی یک دستیار هوش مصنوعی مینویسم.
البته این سؤالات متعددی را ایجاد میکند. این چگونه بر من و نقش من تأثیر خواهد گذاشت و برای استفادهٔ حداکثری از هوش مصنوعی به چه مهارتهایی نیاز دارم؟
بنابراین، زمانی که فرصت نوشتن کتاب Software Testing with Generative AI و کاوش بیشتر در دنیای هوش مصنوعی پیش آمد، آن را با اشتیاق پذیرفتم. در طول توسعهٔ این کتاب، من نه تنها فرصت یادگیری فناوریهای جدید را داشتم، بلکه قدردان این موضوع نیز بودم که درسهای گذشته میتواند استفادهٔ آیندهٔ ما از هوش مصنوعی را شکل دهد. LLMها در نهایت نرمافزار هستند.
بنابراین، درسهایی که از استفادهٔ ابزارها در گذشته آموختهایم، را میتوان به هوش مصنوعی نیز اعمال کرد. در طول این کتاب، نه تنها یاد میگیریم که چگونه از LLMها برای تقویت و گسترش تواناییهای تست خود استفاده کنیم، بلکه رابطهٔ خود را با آنها بهتر تعریف میکنیم.
این امر در صورتی ضروری است که بخواهیم از هوش مصنوعی به روشی ارزشمند برای خود و تیمهایمان استفاده کنیم. بنابراین، کتاب Software Testing with Generative AI برای هر کسی است که علاقهمند به یادگیری نحوهٔ استفاده از هوش مصنوعی برای بهبود مهارتهای تست خود است.
چه مهندس کیفیت باشید، چه تحلیلگر یا توسعهدهندهٔ نرمافزار، در این فصلها کاربرد عملی LLMها را بررسی خواهید کرد. یاد خواهید گرفت که چگونه تواناییهای تست خود را بهبود بخشید، کیفیت را افزایش دهید و ذهنیت مثبتی نسبت به استفاده از LLMها ایجاد کنید.
کتاب Software Testing with Generative AI به هیچ وجه سخن آخر در مورد نحوهٔ استفاده از هوش مصنوعی در آینده نیست، اما امیدوارم که بتواند پایهٔ محکمی برای ساختن باشد تا بتوانیم همه با موفقیت از LLMها برای کمک به خودمان برای تبدیل شدن به اعضای مؤثرتر و ارزشمندتر تیمهایمان استفاده کنیم. امیدوارم سفر شما در دنیای هوش مصنوعی به اندازهٔ سفر من تاکنون لذتبخش باشد.
دربارهٔ کتاب Software Testing with Generative AI
کتاب «آزمایش نرمافزار با هوش مصنوعی مولد» برای کمک به شما در بهرهبرداری از LLMها جهت ارتقا و تقویت تستهای شما نوشته شده است. این کار با تمرکز بر سه اصل کلیدی استفادهٔ موفق از LLMها در تستها انجام میشود: ذهنیت، تکنیک و زمینه.
ما هر یک را بهطور عمیق بررسی خواهیم کرد، ابتدا با ذهنیت شروع میکنیم، سپس تکنیکهای مهندسی اعلان را یاد میگیریم و به کار میبریم و در نهایت با بررسی این موضوع که چرا زمینه در LLMها مهم است و چگونه میتوان آن را در تعاملات خود با آنها جاسازی کرد، پایان میدهیم.
چه کسانی باید کتاب Software Testing with Generative AI را بخوانند؟
همهٔ ما بهعنوان بخشی از یک تیم، مسئول کیفیت و تست هستیم و این کتاب از این ذهنیت پیروی میکند. چه توسعهدهنده یا خودکارسازیکنندهای باشید که روی خودکارسازی تست تمرکز دارید، چه مهندس کیفیتی باشید که روی تستهای پیوسته تمرکز دارید یا یک تستر سنتیتر، این کتاب طیف وسیعی از فعالیتهای تست و نحوهٔ کمک LLMها برای پشتیبانی از آنها را بررسی میکند. با این حال، برای استفادهٔ حداکثری از این کتاب، برخی مهارتهای ضروری مورد نیاز است.
اگر به دنبال یادگیری نحوهٔ پشتیبانی LLMها از خودکارسازی تست هستید، فرض بر این است که با آن آشنا هستید. این بدان معناست که شما باید حداقل تجربهٔ اولیهای با TDD و تجربهٔ متوسطی با تستهای واحد، ادغام و انتها به انتها و همچنین استفاده از محیطهای توسعهٔ یکپارچه داشته باشید.
مثالهای کد در کتاب Software Testing with Generative AI به زبان جاوا نوشته شدهاند، بنابراین باید در خواندن و نوشتن جاوا مهارت داشته باشید. (بهزودی بیشتر در مورد انتخاب کد و مثالها صحبت خواهیم کرد.) علاوه بر خودکارسازی تست، فرض کردهام که خوانندگان تجربهٔ اولیهای در تستهای اکتشافی و دانش متوسطی از مدیریت داده و ساختارهای دادهٔ مرتبط مانند SQL، JSON و XML دارند.
در نهایت، هر تلاشی برای یافتن ابزارهایی که موضوعات پیشرفتهتر در بخش سوم این کتاب را برای هر کسی، صرفنظر از توانایی فنی، در دسترس قرار میدهند، انجام شده است.
با این حال، برای استفاده از این ابزارها، درک اولیهای از قالببندی YAML و ابزارهای خط فرمان ضروری است.
نحوهٔ سازماندهی کتاب Software Testing with Generative AI: یک نقشهٔ راه
این کتاب به سه بخش مجزا تقسیم شده است تا آنچه را که معتقدم سه ویژگی اصلی مورد نیاز برای موفقیت با LLMها هستند، پوشش دهد: ذهنیت، تکنیک و زمینه. ما این مدل تفکر را بیشتر در فصل ۱ بررسی خواهیم کرد، اما در اینجا خلاصهای از هر بخش و فصلهای آنها آورده شده است تا به شما حس اینکه چه مواردی را پوشش خواهیم داد، بدهد.
بخش ۱: ذهنیت—برقراری رابطهٔ مثبتی با LLMها
فصل ۱—نحوهٔ استفاده از LLMها در تست و آنچه برای به دست آوردن ارزش از آنها نیاز داریم را مشخص میکند.
فصل ۲—به بررسی عملکرد داخلی LLMها میپردازد و مفهوم مهندسی اعلان را معرفی میکند، که در بخش ۲ به ابزاری ضروری تبدیل خواهد شد.
فصل ۳—این فصل از کتاب Software Testing with Generative AI که بخش ذهنیت کتاب را به پایان میرساند، رابطهٔ بین هوش مصنوعی، خودکارسازی و تست را بررسی میکند و استدلال میکند که درک روشنی از قابلیتهای هر یک برای استفادهٔ موفق از LLM ضروری است.
بخش ۲: تکنیک—شناسایی وظیفه و مهندسی اعلان در تست
فصل ۴—این فصل نشان میدهد که چگونه فعالیتهایی مانند طراحی تستمحور، هنگامی که با ابزارهای Copilot پشتیبانیشده توسط LLM ترکیب شوند، میتوانند به بهبود کیفیت کد و تسریع کار کمک کنند.
فصل ۵—این فصل از کتاب Software Testing with Generative AI به بررسی نحوهٔ عملکرد LLMها بهعنوان ابزاری برای تقویت و گسترش قابلیتهای برنامهریزی تست و خطرات و دامهایی که باید از اعتماد بیش از حد به LLMها در این فرآیند اجتناب کرد، میپردازد.
فصل ۶—در اینجا به بررسی دستورالعملها و رویکردهای مختلف برای ایجاد دادههای تست با LLMها، چه برای اهداف خودکارسازی تست و چه برای استفادهٔ کلی از تست، میپردازیم.
فصل ۷—با نگاهی به فعالیتهای خودکارسازی تست سطح بالاتر مانند خودکارسازی انتها به انتها، این فصل از کتاب Software Testing with Generative AI توضیح میدهد که چگونه بهترین استفاده از LLMها برای حل وظایف خاص در خودکارسازی صورت میگیرد، نه تلاش برای تکیه بر LLMها برای کل فرآیند خودکارسازی.
فصل ۸—در مرحلهٔ بعد، ما بر نحوهٔ اعمال LLMها بر فعالیتهای تست اکتشافی با شناسایی زیروظایفی که LLMها میتوانند در یک جلسهٔ تست اکتشافی گستردهتر به آنها کمک کنند، تمرکز میکنیم.
فصل ۹—در نهایت، این بخش را با بررسی نحوهٔ ارتقای تکنیکهای اعلان خود با استفاده از توابع LLM برای ایجاد دستیاران تست به پایان میرسانیم.
بخش ۳: زمینه—سفارشیسازی LLMها برای زمینههای تست
فصل ۱۰—ما بخش پایانی کتاب Software Testing with Generative AI را با بررسی این موضوع آغاز میکنیم که چرا زمینه برای به حداکثر رساندن ارزش پاسخ یک LLM و همچنین آشنایی با تکنیکهای پیشرفتهتر که میتوانند به افزودن زمینه کمک کنند، کلیدی است.
فصل ۱۱—این فصل از کتاب Software Testing with Generative AI به ما کمک میکند تا نحوهٔ عملکرد نسل تقویتشدهٔ بازیابی (RAG) و ارزش آن را با ساخت چارچوبهای RAG خودمان بیاموزیم.
فصل ۱۲—ما کتاب را با بررسی فرآیند تنظیم دقیق مدلها و نحوهٔ کمک آن به ما برای جاسازی زمینه در مدلهایی که برای پشتیبانی از تستهای خود استفاده میکنیم، به پایان میرسانیم.
بسته به پیشینه و علاقهٔ شما، ممکن است بخواهید فصلهای خاصی را در بخشهای ۲ و ۳ انتخاب و انتخاب کنید. شاید شما یک توسعهدهنده باشید که به دنبال یادگیری بیشتر در مورد نحوهٔ کمک LLMها به کد تولید و خودکارسازی تست هستید.
یا در نقشی هستید که به فعالیتهای تست مبتنیتر بر انسان متکی است و میخواهید بیشتر در مورد نحوهٔ کمک LLMها به برنامهریزی و فعالیتهای تست دستی بیاموزید. صرفنظر از اهداف شما، توصیه میشود بخش ۱ کتاب Software Testing with Generative AI را بهطور کامل بخوانید تا ذهنیت زیربنایی بخشهای ۲ و ۳ را درک کنید. فعالیتهای در طول کتاب برای کمک بیشتر به یادگیری شما طراحی شدهاند و اختیاری هستند اما توصیه میشوند.
سرفصلهای کتاب Software Testing with Generative AI:
- Software Testing with Generative Al
- brief contents
- contents
- foreword
- preface
- acknowledgments
- about this book
- about the author
- about the cover illustration
- Part 1
- 1 Enhancing testing with large language models
- 2 Large language models and prompt engineering
- 3 Artificial intelligence, automation, and testing
- Part 2
- 4 Al-assisted testing for developers
- 5 Test planning with Al support
- 6 Rapid data creation using Al
- 7 Accelerating and improving UI automation using Al
- 8 Assisting exploratory testing with artificial intelligence
- 9 Al agents as testing assistants
- Part 3
- 10 Introducing customized LLMs
- 11 Contextualizing prompts with retrieval-augmented generation
- 12 Fine-tuning LLMs with business domain knowledge
- appendix A Setting up and using ChatGPT
- appendix B Setting up and using GitHub Copilot
- appendix C Exploratory testing notes
- index
جهت دانلود کتاب Software Testing with Generative AI میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.