software testing

23
تبریزم افزاری جلسات باز نر143 م افزارست نر مبانی تاری بهروز بختی

Upload: behrouz-bakhtiari

Post on 19-May-2015

351 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Software testing

143جلسات باز نرم افزاری تبریز

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

بهروز بختیاری

Page 2: Software testing

آیا تست نرم افزار یک دهه شصتی هست؟

143جلسات باز نرم افزاری تبریز

Page 3: Software testing

را بسازم، 2ببین برای عید می خواهم رسوایی رسوایی های حاصل از کاستی تست نرم افزار

143جلسات باز نرم افزاری تبریز

Page 4: Software testing

!دی، روی سیستم من کار میکرد

دیزنیبازی شیر شاه

143جلسات باز نرم افزاری تبریز

Page 5: Software testing

If ( (4195835 / 3145727) * 3145727 – 4195835 != 0 ) {

Intel apologized for the way it handled the bug and took a charge of over $400 millionto cover the costs of replacing bad chips.

}

143جلسات باز نرم افزاری تبریز

اشکال تقسیم با ممیز شناور

Page 6: Software testing

143جلسات باز نرم افزاری تبریز

کاوشگر مریخ ناسا

Page 7: Software testing

ما خیلی خفن هستیم، چون شبیه غولهای دنیا اشتباه می کنیم:)

143جلسات باز نرم افزاری تبریز

Page 8: Software testing

143جلسات باز نرم افزاری تبریز

V & Vتضمین کیفیت نرم افزار

(Validation)اعتبارسنجی (Verification)بازبینی

تست نرم افزار

Page 9: Software testing

143جلسات باز نرم افزاری تبریز

V & V

.آیا محصول درستی می سازیم( : Validation)اعتبارسنجی

.آیا محصول را درست می سازیم( : (Verificationبازبینی

Page 10: Software testing

143جلسات باز نرم افزاری تبریز

اهداف تست

.یک برنامه با هدف پیدا کردن خطاها هستفرآیند اجرای تست •

.هدتست خوب، تستی است که احتمال یافتن خطاهای پیدا نشده را افزایش د•

.تست موفق، تستی است که خطاهای پیدانشده تاکنون را پیدا کند•

Page 11: Software testing

143جلسات باز نرم افزاری تبریز

اهداف تست

.تست موفق، تستی نیست که در آن خطای یافت نشود

تست وجود خطا و اشکال در نرم افزار را نشان می دهد،.نه عدم وجود خطا و اشکال در آن را

Page 12: Software testing

143جلسات باز نرم افزاری تبریز

اصول تست نرم افزار

تست با توجه به نیازمندیهای کاربر•

برنامه ریزی برای تست•

.درصد کد هست20درصد خطاهای کشف نشده در 80: قانون پارتو •

.تست کامل و جامع امکان پذیر نیست•

.برای موثر بودن تست، باید تست توسط تیمی مستقل هدایت شود•

Page 13: Software testing

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

یود

وری

وجخر

یاه س

بهجع

سورس برنامه

یود

وری

وجخر

یدسف

ه جعب

143جلسات باز نرم افزاری تبریز

Page 14: Software testing

(Equivalence Partitioning)افراز هم ارزی

.بندی می کنیمدر کالسهای دسته در نظر گرفته و آنها را ورودیها را •

.برای مقادیر مختلف یک کالس، نرم افزار الزم است به صورت مشابه رفتار کند•

.هر کالس داده یک رده از خطاها را پوشش می دهد•

.مقادیری از هر یک از کالس ها انتخاب شده و تست می شود•

143جلسات باز نرم افزاری تبریز

Page 15: Software testing

0 16 18 55امکان استخدام بصورت پاره وقت وجود دارد

امکان استخدام وجود ندارد امکان استخدام بصورت تمام وقت وجود دارد

امکان استخدام وجود ندارد

143جلسات باز نرم افزاری تبریز

(Equivalence Partitioning)افراز هم ارزی

Page 16: Software testing

(Boundary Value Analysis)تحلیل مقادیر مرزی

نه مرکزی داممقادیر مرزهای دامنه ورودی نسبت به موجود در تعداد خطاهای طبق یک قانون نانوشته، •.بیشتر است

.و مکملی برای تکنیک افراز هم ارزی هست. تمرکز این تکنیک روی مقادیر مرزی می باشد•

143جلسات باز نرم افزاری تبریز

Page 17: Software testing

(Boundary Value Analysis)تحلیل مقادیر مرزی

تاریخ روز بعدی را محاسبه می کند، با دریافت سه ورودی سال، ماه و روزNextDateمساله

1 روز ≥ ≤ 311 ماه ≥ ≤ 12

1300 سال ≥ ≤ 1400

143جلسات باز نرم افزاری تبریز

Page 18: Software testing

(Basis Path)ارزیابی مسیر پایه

143جلسات باز نرم افزاری تبریز

.پیچیدگی سیستم را مشخص می کند•

.تمامی مسیرهای اجرایی ارزیابی می شوند، اینکار با کمک گراف جریان انجام می شود•

Sequence if While Until Case

Page 19: Software testing

سطوح مختلف تست

143جلسات باز نرم افزاری تبریز

(Unit testing)تست واحد •

(Integration testing)تست یکپارچه سازی •

(System testing)تست سیستم •

(Acceptance testing)تست پذیرش •

Page 20: Software testing

(Unit testing)تست واحد

143جلسات باز نرم افزاری تبریز

.پایین ترین سطح تست می باشد•

به منظور بررسی درستی عملکرد نرم افزار یکپارچه شده•

.بعد از تست واحد انجام می شود•

Page 21: Software testing

(Integration testing)تست یکپارچه سازی •

143جلسات باز نرم افزاری تبریز

تست نرم افزار حاصل از قرار گرفتن قطعات مختلف•

.هر کد تست واحد، یک متد را تست می کند•

.این تست نیاز به دانش در مورد طراحی و نحوه عملکرد داخلی متد دارد•

.این تست توسط برنامه نویس انجام می شود•

Page 22: Software testing

(System testing)تست سیستم •

143جلسات باز نرم افزاری تبریز

تست امنیت•

تست کارایی•

تست احیاء•

تست استرس•

•...

Page 23: Software testing

(Acceptance testing)تست پذیرش •

143جلسات باز نرم افزاری تبریز

تست نرم افزار از دیدگاه مشتری•

: بعد از تست سیستم می شود و شامل •

تست الفا•

تست بتا•