تست نرم افزار چیست

مقاله تست نرم افزار

استاندارد های کیفیت نرم افزار

ارزیابی کیفیت نرم افزار

تست نرم افزار چیست

شاخص های کیفیت نرم افزارهای

چک لیست تست نرم افزار

نحوه تست محصولات و خدمات نرم افزار در شرکت گوگلتست نرم افزار

شرکت گوگل برای تست نرم افزار، سه نقش زیر را درنظر گرفته است:

  1.  Software Engineer
  2.  Software Engineer in Test
  3. Software Tester

مهندس نرم افزار، در کنار تولید قابلیت های سیستم یعنی Feature development وظیفه تست قابلیت های تولید شده در سطح برنامه را نیز برعهده دارد یعنی Test development نیز انجام می دهد.

در هر صورت برای تولید تستها، از آنجاییکه نیاز به دانش آزمون و خصوصا زیرساخت آزمون می باشد، مهندس تست نرم افزار (دومین نقش)، وارد کار می شود که فعالیت های اصلی آن عبارت است از: کمک به برنامه نویس (مهندس نرم افزار) برای تولید آزمون واحد، آماده سازی زیرساخت آزمون شامل چارچوب آزمون و ماک-آبجکت ها، و نهایتا آزمون یکپارچه سازی قابلیت ها.

آزمونگر نرم افزار (نقش سوم)، وظیفه آزمون های سطح کاربری و پذیرش را برعهده دارد و به اصطلاح کارUser development  را انجام می دهد که شامل تهیه سناریوهای آزمون در سطح کاربری می باشد.

برخی از اصولی که در تولید نرم افزار در شرکت گوگل بکار گرفته می شود، عبارت است از:

  • استفاده از روش تولید مبتنی بر آزمون یا همان Test Driven Development
  • ارائه پایه ای ترین (ولی در عوض، موردنیازترین) قابلیت های یک محصول و ارائه آن به مصرف کننده و سپس گرفتن فیدبک کاربرنهایی. البته قبل از تحویل همین نسخه ساده، تست های مورد نیاز در سطح تولید و کاربری برروی آن انجام می شود و بعد از پاس شدن تمام تستهای مورد نیاز، محصول اولیه به کاربر داده می شود.
  • استفاده از تکنیک تحلیل ایستا و مرور دستی در کنار آزمون (پویا) + اجرای مجدد تست ها (آزمون رگراسیون) بعد از برطرف سازی مشکلات شناسایی شده در تحلیل و مرور کد.
  • استفاده از یک ریپازیتوری مشترک بین تولیدکنندگان با ارائه دسترسی و قرار دادن ماژولهای پایه ای در آن. تولیدکنندگان تا حد امکان باید از ماژولهای پایه‌ای موجود که قبلا تولید و تست شده است، استفاده نمایند.
  • استفاده از مکانیزم های تشویقی برای برنامه نویسانی که کد تمیز می نویسند.
  •  انجام تست ها در سه سطح  Small, Medium, Large که تقریبا معادل آزمونهای زیراست Unit, Integration, System

نکته قابل توجه آن است که قابلیتی که توسط یک برنامه نویس (مهندس نرم افزار) تولید می شود، همان برنامه نویس وظیفه تست آن قابلیت در سطح برنامه نویسی را نیز برعهده دارد؛ هرچند از خدمات مهندس تست نرم افزار برای آماده سازی تستها استفاده می نماید. در واقع اولین تستهای نرم افزار که باید پاس شود تا وارد مراحل بعدی تست (آزمونهای یکپارچه سازی و سیستمی) شد، همین آزمونهای برنامه نویسی یعنی یونیت-تست ها می باشند.

در شرکت گوگل، چندین اصل و مکانیزم برای رسیدن به Testabilityبالا، لحاظ می شود. اولی Test Driven Developmentاست. وقتی توسعه به صورت مبتنی بر آزمون پیش می رود، طبیعتا آزمون پذیری بالاتری وجود خواهد داشت. در همین رویکرد، وقتی کد یا طراحی سیستم پیچیده می شود، مکانیزم Refactoring برای افزایش خوانایی کد و طراحی مشروح صورت می گیرد. همچنین در شرکت گوگل، اصل بر سادگی یعنی  Simplicity است و بکارگیری همین اصل باعث می شود آزمون پذیری کد و سیستم افزوده شود. همچنین تاکید زیاد برروی آزمونهای واحد (برنامه نویسی)، طبیعتا تست-ابیلیتی را افزایش می دهد.

تضمین Testability در وحله اول با معمار سیستم است. در واقع معماری سیستم باید طوری چیده شود که سیستم تولید شده آزمون پذیر باشد. در وحله بعدی، وظیفه برنامه نویسان سیستم است که طوری کد نویسی انجام دهند که امکان تست به راحتی فراهم باشد. گاهی اوقات (خصوصا در سیستم های لگسی) لازم است ریفکتورینگ های لازم برای آزمون پذیر کردن صورت گیرد یا یک نفر (تیم) خاص برای افزودن قابلیتهای لازم برای تست سیستم (ماک-آبجکت ها) لحاظ شود. نهایتا اینکه با تکنیک Code Inspection/Review می توان میزان پیچیدگی و آزمون پذیری را سنجید و متناسب با آن اقدامات لازم را انجام داد.

نویسنده : تیم تست شرکت مهندس پیشگان


مراجع

 

[1]- How Google Tests Software

دیدگاه‌ها   

0 #3 مهشید جعفری 1396-03-02 17:12
ممنون از مقاله خوبتون
چند تا سوال داشتم، اول این که تضمین کیفیت نرم افزار های گوگل چگونه انجام می شود. دوم این که آزمون نرم افزار در ایران هم با کیفیتی که در گوگل انجام میشه است یا نه؟
شرکت شما چه فعالیت هایی در این زمینه داره؟
فکر می کنم مهم ترین آزمون در گوگل آزمون کارایی باشه، میشه در مورد آزمون کارایی گوگل یک مقاله ارائه بدین؟
ممنون از شما، واقعا مطالب مفیدی در مقالتون بود.
نقل قول کردن
0 #2 www.kiwibox.com 1396-02-26 04:28
I am so happy to read this. This is the kind of manual that needs to be given and
not the random misinformation that's at the other
blogs. Appreciate your sharing this greatest doc.
نقل قول کردن
+2 #1 nazanin 1396-01-21 11:21
خیلی عالیه سایتتون
ممنون از مطالب مفیدتون.
نقل قول کردن

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید

شما اینجا هستید: خانهدوره های آموزشیمقالاتنحوه تست محصولات و خدمات نرم افزار در شرکت گوگل

تماس با ما

  • تلفن : 28424282 - 021
  • فکس: 28424283 - 021
  • فروش: این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید
  • روابط عمومی: این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید

معرفی شرکت

شرکت مهندس پيشگان آزمون افزار ياس با هدف ارائه خدمات و ابزارهای پیشرفته در حوزه تست و تضمين کيفيت نرم افزار توسط کارشناسان مجرب تاسیس شده است. این شرکت جزء شرکت های دانش بنیان صنعتی بوده و دارای مجوز شورای عالی انفورماتیک و سازمان نظام صنفی رایانه ای کشور می باشد.

Scroll to Top