تست در دنیای تحویل پیوستهی DevOps
آنچه که در مورد آن بحث خواهد شد:
آیا نیازی به تغییر روشهای تست سنتی میباشد؟
DevOps چیست؟ آیا متفاوت با روش چابک میباشد؟
چگونه به سازمان کمک میکند؟
تاثیر بر روی تست در یک سناریوی DevOps
افراد
فرایند
نظارت
تکنولوژی
![تست در دنیای تحویل پیوستهی DevOps تست در دنیای تحویل پیوستهی DevOps](/images/ImageOfSite/devops-part1/avatar.png)
روش تست سنتی در راستای تحویل متوالی (sequential delivery) تجهیز شده است
![روش تست سنتی روش تست سنتی](/images/ImageOfSite/devops-part1/01.png)
این امر منجر به یک ساختار سازماندهی مجزا می شود
![ساختار سازماندهی در روش تست سنتی ساختار سازماندهی در روش تست سنتی](/images/ImageOfSite/devops-part1/02.png)
که خود چالشهای ارتباطی را به همراه می آورد. همچنین منجر به تمرکز برروی مجموعه مهارتهای مجزا میشود که باعث به حداقل رساندن عملکردهای چند وظیفهای میگردد.
![تمرکز برروی مجموعه مهارت ها بصورت مجزا تمرکز برروی مجموعه مهارت ها بصورت مجزا](/images/ImageOfSite/devops-part1/03.png)
نتیجه آن، پیامدهای ناخواسته می باشد.
![پیامدهای ناخواسته تولید و توسعه پیامدهای ناخواسته تولید و توسعه](/images/ImageOfSite/devops-part1/04.png)
روش تحویل متوالی منجر به زمان تحویل بیشتر و ریسک بالاتر میشود
![آیا این یک گزینه قابل قبول است؟ آیا این یک گزینه قابل قبول است؟](/images/ImageOfSite/devops-part1/05.png)
امروزه کسی و کار چه می خواهد؟
![انتظار فضای کسب و کار انتظار فضای کسب و کار](/images/ImageOfSite/devops-part1/06.png)
چگونه میتوان این کار را انجام داد؟
![تغییر استراتژی تحویل تغییر استراتژی تحویل](/images/ImageOfSite/devops-part1/07.png)
چابک-مسیر تحویل پیوسته
![ارائه توسعه چابک ارائه توسعه چابک](/images/ImageOfSite/devops-part1/08.png)
مسئله مایل آخر (مدت زمان طولانی میان تست و استقرار) هنوز وجود دارد
![پابرجا بودن مسئله مایل آخر پابرجا بودن مسئله مایل آخر](/images/ImageOfSite/devops-part1/09.png)
مدت زمان طولانیِ میان تست و استقرار
آزمونگرها هنوز مجموعه مهارتهای مدیر سیستم را ندارند
سرعت تحویلِ بیشتر، به سردرگمی میافزاید
DevOps قصد دارد راهحلی برای این چالش یکپارچهسازی باشد
![ارائه راهکار DevOps ارائه راهکار DevOps](/images/ImageOfSite/devops-part1/10.png)
آیا DevOps متفاوت با چابک میباشد؟
"بالاترین اولویت ما این است که مشتری را از طریق تحویل پیوسته و سریع نرمافزار ارزشمند خشنود سازیم"
![تحویل پیوسته و سریع محصول و جلب رضایت مشتری تحویل پیوسته و سریع محصول و جلب رضایت مشتری](/images/ImageOfSite/devops-part1/11.png)
در حال حاضر چه کسی این کار را انجام میدهد؟
شرکتهای وب 2.0 که وابستگی شدیدی به تجارت الکترونیک دارند، پیشگامان انجام این کار هستند.
تغییرات سریع، اجباری است-یکپارچهسازی بهتر منجر به زمان پاسخ بهتر میشود. یعنی DevOps.
![شرکت های پیشرو در وب 2 شرکت های پیشرو در وب 2](/images/ImageOfSite/devops-part1/12.png)
تاثیر برروی تست
تغییر به محیط DevOps باید به صورت تدریجی باشد چراکه چندین نقطه را تحت تاثیر قرار میدهد.
![تحویل پیوسته و سریع محصول و جلب رضایت مشتری تحویل پیوسته و سریع محصول و جلب رضایت مشتری](/images/ImageOfSite/devops-part1/13.png)
تاثیر برروی تست-افراد
تمرکز برروی مدیریت دانش
دسترسی به اطلاعات برای افزایش قابلیت استفاده مجدد
آزمونگرها نیاز به یادگیری زبانهای تولید دارند-ظهور ابزارهای کاربر پسند مانند پایتون و کیوکامبر
آزمونگرها نیاز به یادگیری فرایند استقرار و ابزارها دارند
آموزش توسعهدهندگان و مدیر سیستم در زمینه فرایندها، روشهای طراحی و ابزارهای تست
افزایش وابستگی به توسعهدهندگان برای تست shift-left
تاثیر برروی تست-فرآیند
یکپارچهسازی پیوسته اجباری میشود
توسعه مبتنی بر تست
مخزن منفرد سورس کد
خودکارسازی فرایند ساخت
ساخت سریع- رسیدن به بهترین زمان انتشار
شفافیت - همه باید بدانند که چه اتفاقی میافتد
![تغییر فرآیند تست در محیط DevOps تغییر فرآیند تست در محیط DevOps](/images/ImageOfSite/devops-part1/14.png)
تمرکز زیاد برروی روشهای خودکارسازی جدید که در مراحل اولیه چرخه حیات تعبیه شده است
![تمرکز برروی تست واحد و تست لایه سرویس تمرکز برروی تست واحد و تست لایه سرویس](/images/ImageOfSite/devops-part1/15.png)
"تست هوشمند" حد مرزی تست های یکپارچهسازی و سیستم در روش تست سنتی را از بین میبرد
![روش تست سنتی روش تست سنتی](/images/ImageOfSite/devops-part1/16.png)
توانایی ترکیب بهینه خودکارسازی در سراسر چرخه حیات
![ایجاد بستر خودکارسازی در سراسر چرخه حیات توسعه و تحویل ایجاد بستر خودکارسازی در سراسر چرخه حیات توسعه و تحویل](/images/ImageOfSite/devops-part1/17.png)
نیاز به "صنعتیسازی"- تمرکز برروی آمادهسازی برنامه کاربردی به صورت کاربردی و عملیاتی
![ایجاد بستر خودکارسازی در سراسر چرخه حیات توسعه و تحویل ایجاد بستر خودکارسازی در سراسر چرخه حیات توسعه و تحویل](/images/ImageOfSite/devops-part1/18.png)
تاثیر برروی تست-نظارت
تیم ها به بهترین نحو با هم کار میکنند
تغییرات افزایشی صورت گرفته توسط کسب و کار-واسط پیوسته و دِموها
تمرکز بر روی مهارتهای اصلی
نیاز بیشتر به متخصصان – آنها بر روی فعالیت های چالش برانگیز تمرکز میکنند
شناسایی وظایف تکراری – خودکارسازی شده و اجرا شده
ممکن است در سازمانهای بزرگ کار نکند
تاثیر برروی تست-تکنولوژی
نیاز به ابزارهای کاربرپسند که میتواند توسط توسعهدهندگان، آزمونگرها و مدیر سیستم مورد استفاده قرار گیرد
تمرکز بیشتر برروی خودکارسازی و قابلیت استفاده مجدد
آگاهی از هزینه یا تمایل به داشتن دانش فنی!
![ایجاد بستر خودکارسازی در سراسر چرخه حیات توسعه و تحویل ایجاد بستر خودکارسازی در سراسر چرخه حیات توسعه و تحویل](/images/ImageOfSite/devops-part1/19.png)
و مهمتر از همه اینکه گفتگو و مذاکره نباید فراموش شود.
![ایجاد یک کانال ارتباطی برای به روز رسانیها و بازخورد منظم ایجاد یک کانال ارتباطی برای به روز رسانیها و بازخورد منظم](/images/ImageOfSite/devops-part1/20.png)
خلاصه
رویکردهای تست سنتی به واسطه جدول زمانی تحویل طولانی محدود میشوند.
روش چابک بهتر عمل میکند، اما با چالشهایی در "مایل آخر (مدت زمان طولانی میان تست و استقرار)" مواجه میشود
DevOps یک روش یکپارچه برای تحویل ارائه میکند
روی یکپارچهسازی پیوسته و تحویل پیوسته تمرکز دارد
نیاز به خودکارسازی و قابلیت استفاده مجدد گسترده دارد
تیمها هر نوع کاری انجام میدهند اما به متخصصان بیشتری نیاز است
انتقال به DevOps با ظهور نسل جدیدی از ابزارهای کاربر پسند تسهیل میگردد
برقراری ارتباط موثر و مدیریت تغییر که برای یک سازمان، شروع این سفر حیاتی است
شرکت مهندس پیشگان آزمون افزار یاس، خدمات زیر را در حوزه تست چابک و DevOps ارائه می دهد:
ارائه مشاوره در حوزه تست چابک و DevOps
تهیه و آموزش ابزارهای تست چابک و DevOps
ارائه راهکارهای مبتنی بر DevOps برای بهبود کیفیت نرم افزار
نویسنده : شرکت مهندس پیشگان آزمون افزار یاس
مراجع
[1] “Testing in the DevOps World of Continuous Delivery”, Manoj Narayanan, 2012
[2] “Leading the Transformation: Applying Agile and DevOps Principles at Scale”, Gruver, Gary; Mouser, Tommy , 2015
[3] “DevOps- Not a Market, but a Tool-Centric Philosophy That Supports a Continuous Delivery Value Chain”, Laurie F. Wurster, Ronni J. Colville, Jim Duggan , 2015
[4] “Practices for DevOps and Continuous Delivery”, Ben Linders, 2015
[5] “Reducing wasted development time via continuous testing. 14th International Symposium on Software Reliability Engineering”, Saff, D.; Ernst, M.D. , 2003
[6] “ Testing in a Continuous Delivery World”, Rob Marvin, 2003