آموزش آشنایی با تحلیل خودکار نرم‌افزار - آخرین آپدیت

دانلود Introduction to Automated Analysis

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره به معرفی پیشرفته‌ترین تکنیک‌های تحلیل خودکار می‌پردازد. تحلیل خودکار شامل دو رویکرد اصلی است: نخست، تولید خودکار تعداد زیادی از تست‌ها برای بررسی انطباق برنامه‌ها با نیازمندی‌ها و دوم، روش‌هایی برای اثبات اینکه نرم‌افزار مطابق با نیازمندی‌هاست و فاقد نقص‌های رایجی نظیر تقسیم بر صفر، سرریز (Overflow/Underflow)، بن‌بست (Deadlock)، شرایط رقابتی (Race Condition)، سرریز بافر، استثناهای مدیریت نشده و سایر باگ‌های رایجی است که منجر به خرابی برنامه یا مشکلات امنیتی می‌شوند. فراگیر با تئوری‌های بنیادی و کاربردهای این رویکردها آشنا شده و تکنیک‌های متنوع تحلیل خودکار را روی برنامه‌های نمونه پیاده‌سازی خواهد کرد. پس از اتمام این دوره، فراگیر قادر خواهد بود: - مبانی تایید خودکار (Automated Verification) شامل تصادفی‌سازی و نمایش‌های نمادین را درک کند. - نقاط قوت و ضعف تست‌های تصادفی، تحلیل نمادین، تحلیل استاتیک و مدل‌چک (Model Checking) را تشخیص دهد. - از ابزارهای پیشرفته تحلیل استاتیک و تست خودکار برای تایید نرم‌افزار استفاده کند. - نیازمندی‌های اجرایی را به عنوان یک Oracle مناسب برای تست خودکار و تحلیل نمادین ایجاد کند. - درک کند که انتخاب Oracle چگونه بر یافتن خطا در استراتژی‌های تحلیل خودکار تأثیر می‌گذارد. - از تست خودکار برای دستیابی به پوشش کامل جهش (Mutation Coverage) استفاده کند. - یک برنامه تست جامع طراحی کند که با ترکیب تست‌های دستی و خودکار، دقت را به حداکثر و تلاش، زمان و هزینه‌های تست را به حداقل برساند. این دوره برای علاقه‌مندان به درک اصول اتوماسیون و کاربرد ابزارهای تحلیل و تست نرم‌افزار طراحی شده است. این دانش برای نقش‌های مهندس نرم‌افزار، مهندس تست (SDET)، مهندس اتوماسیون تست، مهندس DevOps و برنامه‌نویسان بسیار مفید است. پیش‌نیاز این دوره، آشنایی با چرخه حیات توسعه نرم‌افزار (SDLC) و مفاهیم پایه تست نرم‌افزار (مشابه مباحث دوره‌های تست جعبه سیاه و جعبه سفید) است. همچنین تسلط بر یک زبان شی‌گرا مانند Java یا توانایی یادگیری سریع سینتکس آن برای نوشتن و اصلاح کد، و تمایل به استفاده از IDEها و ابزارهای توسعه الزامی است.

سرفصل ها و درس ها

آشنایی با تحلیل خودکار Introduction to Automated Analysis

  • مقدمه‌ای بر تحلیل خودکار Introduction to Automated Analysis

  • تکنیک‌های تحلیل خودکار Automated Analysis Techniques

  • نمایش‌های نمادین Symbolic Representations

  • مشخص کردن ویژگی‌ها (Property Specification) Property Specification

  • مشخصات محیطی و مفروضات Environmental Specification and Assumptions

  • تست واحد پارامتری با استفاده از junit quickcheck Parameterized Unit Testing using junit-quickcheck

  • مشخصات محیطی در junit quickcheck Environmental Specifications in junit-quickcheck

  • (اختیاری) نصب Eclipse و Gradle (Optional) Installation of Eclipse and Gradle

تولید خودکار تست Automated Test Generation

  • مروری بر تولید خودکار تست Overview of Automated Test Generation

  • تولید خودکار تست با استفاده از تست تصادفی Automated Test Generation using Random Testing

  • تولید خودکار تست با استفاده از اجرای نمادین Automated Test Generation using Symbolic Execution

  • تولید خودکار تست با استفاده از جستجوی متاهیوریستیک Automated Test Generation using Metaheuristic Search

  • تست مبتنی بر ویژگی برای سیستم‌های بلادرنگ Property-Based Testing for Real-Time Systems

  • سوگیری مقادیر ورودی در junit quickcheck Biasing Input Values in junit-quickcheck

  • استفاده از Generatorها برای ایجاد ورودی‌های پیچیده در junit quickcheck Using Generators to Create Complex Inputs in junit-quickcheck

  • توضیح Test Harness و تکلیف مربوط به مثال مایکروویو Explanation of Test Harness and Assignment for Microwave Example

تحلیل استاتیک Static Analysis

  • تحلیل استاتیک چیست؟ What is Static Analysis

  • تحلیل جریان داده (Dataflow Analysis) Dataflow Analysis

  • ویژگی‌های ساختار صحیح برنامه Program Wellformedness Properties

  • طراحی برنامه‌ها برای تحلیل‌پذیری Designing programs for analyzability

  • تحلیل استاتیک با ابزار Infer Static Analysis with Infer

تایید خودکار موثر Effective Automated Verification

  • اتوماسیون تست رگرسیون Automating Regression Testing

  • اتوماسیون تست امنیتی با استفاده از Fuzz Testing Automating Security Testing Using Fuzz Testing

  • مانیتورینگ در زمان اجرا (Runtime Monitoring) Runtime Monitoring

  • مواردی که اتوماسیون شکست می‌خورد Where Automation Fails

  • استفاده موثر از متدهای ترکیبی Using Multiple Methods Effectively

  • تکامل تست نرم‌افزار The Evolution of Software Testing

نمایش نظرات

آموزش آشنایی با تحلیل خودکار نرم‌افزار
جزییات دوره
19h 25m
27
(آخرین آپدیت)
19,057
4.1 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده

Kevin Wendt Kevin Wendt