طراحی موارد آزمون: طرح و قالب

طراحی موارد آزمون: طرح و قالب

یک مورد آزمون خوب را می‌توان از راه‌های گوناگونی ایجاد کرد و به اصطلاح میلیون‌ها راه برای ایجاد آن وجود دارد. در این زمینه چندین کتاب و مقاله نوشته شده است و مبحث مفصلی دارد. نوشتن موارد آزمون برای ویژگی‌های مختلف، به مستندات مختلفی ( به طور معمول اکسل) نیاز دارد. هنگامی‌که موارد کاربرد و یا مشخصات مورد نیاز به خوبی طراحی شده باشند، شما می‌توانید یک نقشه کامل داشته باشید تا هر مورد آزمون، بخش خاصی از سند را در برگیرد. برای طراحی مورد آزمون به صورت دستی اغلب آن‌ها را در جداولی مانند جدول زیر تنظیم می‌کنند.

با این مقدمه اگه بخواهیم مشخصات کلی برای طراحی یک مورد آزمون خوب در نظر بگیریم، می‌توانیم به موارد زیر اشاره کنیم: بیشتر بخوانید »

طراحی موارد آزمون: اولین گام طراحی

طراحی موارد آزمون: اولین گام طراحی

یکی از چالش برانگیزترین انتظارات در تست نرم‌افزار طراحی یک مورد آزمون خوب است که یک هنر پیچیده‌ای به‌حساب می‌آید. در پست قبلی دلایل طراحی موارد آزمون گفته شد. در ادامه به مفاهیم اولیه موارد آزمون می‌پردازیم.
موارد آزمون (Test Case) یکی از مباحث مهم در مهندسی نرم‌افزار می‌باشد که تعریف‌های متعددی از آن آمده است:

بیشتر بخوانید »

طراحی موارد آزمون: اطلاعاتتان را منتشر کنید

طراحی موارد آزمون: اطلاعاتتان را منتشر کنید

سوال همیشگی بین گروه توسعه و تست ‌‌این است که “چرا بایستی موارد آزمون (Test Case) نوشت؟ ” من فکر می‌کنم که بیشترافراد تیم، نوشتن آن را بسیار زمان بر و پرهزینه دانسته و ترجیح می‌دهند که به آن فکر نکرده و انجام ندهند. با ‌‌این حال به نظرم دلایل بسیارمعتبری برای نوشتن موارد آزمون وجود دارد.

یادتان باشد که شما تنها تستر شرکت نیستید و نخواهید بود! بنابراین تسترهای شرکت به اطلاعات مستندی احتیاج دارند که چگونگی تست بخش‌های مختلف برنامه را شرح داده باشد.‌‌ این اطلاعات مستند چیزی جز موارد آزمون (Test Case) نیست! بیشتر بخوانید »

گام‌هایی کوچک با تست

گام‌هایی کوچک با تست

 

در سال ۱۹۹۹ گروهی از توسعه‌دهندگان متدولوژی eXtreme Programing  یا به اختصار XP را پدید آوردند. در این متدولوژی به جای آن‌که ابتدا کد برنامه را نوشته و سپس آن را تست نمایند، برعکس عمل می‌کردند. یعنی ابتدا کد تست را می‌نوشتند، سپس کدهای برنامه را برای پاس کردن آن تست‌ها اضافه می‌کردند. به این صورت‌ که، قبل از شروع به طراحی و پیاده سازی روال‌ها، ابتدا یک تست برای نیازها و یا خواسته جدید پیاده‌سازی می‌شد و بعد با توجه به ورودی و خروجی‌های تست، نیازهای تست را با کمترین کد پیاده سازی می‌کردند. این عمل تا زمانی ادامه پیدا می‌کرد ‌که به نتیجه نهایی و مطلوب برسد. به این شیوه، برنامه نویسی اول تست Test‌First Development می‌گفتند که به توسعه تست محور Test Driven Development یا به اختصار TDD نیز معروف است. TDD حاصل تکامل فرآیند تولید نرم‌افزار بوده و بسیاری از مشکلات و چالش‌های تولید نرم‌افزار را رفع می‌کند. بیشتر بخوانید »

انواع تست: امنیت با تست نرم افزار

انواع تست: امنیت با تست نرم افزار

تست و ایمنی نرم‌افزار مجموعه‌ای از فرآیندها و ابزاری است که به‌منظور شناسایی، پیشگیری و اصلاح نقاط ضعف امنیتی در توسعه و جمع‌آوری اپلیکیشن‌های نرم‌افزاری استفاده می‌شوند. هم‌چنین نقاط ضعف و جنبه‌های آسیب‌پذیر ممکن است خطر آسیب به برندهای شرکت، نقض قوانین و سایر تخلفات امنیتی به‌همراه داشته باشد. تمام این موارد می‌تواند موجب صرف هزینه و زمان زیادی شود و بقای تجاری شرکت‌ها را به خطر اندازد.

از آنجایی که نرم‌افزار نقش مهمی در سیستم‌های پیچیده دارد، فراهم کردن امنیت آن بسیار حیاتی می باشد. امنیت نرم‌افزار یکی از فعالیت‌های تضمین کیفیت نرم‌افزار است که خصوصیات امنیتی نرم‌افزار را در مراحل طراحی، پیاده سازی و به‌کارگیری، مورد خطاب قرار می‌دهد. بیشتر بخوانید »

۵ ابزار تست خودکار اندروید

۵ ابزار تست خودکار اندروید

در سال‌های اخیر موبایل‌های هوشمند و تبلت‌ها بازار محصولات دیجیتال شخصی را فتح کرده‌اند. این محصولات نه ‌تنها بازار محصولات دیجیتال شخصی، بلکه بازار کامپیوترها و دیگر محصولات دیجیتال را هم تحت تاثیر خودشان قرار داده‌اند. به این ترتیب است که این محصولات هوشمند در سال‌های اخیر رشد قابل توجهی را تجربه کرده‌اند. استفاده از اپلیکیشن‌های موبایل در سال ۲۰۱۳ بیش از ۱۱۵ درصد رشد داشته است و این در حالی‌ست که در ایران نیز استفاده از اپلیکیش‌های موبایل نیز به شدت رشد یافته است. با رشد اپلیکیشن‌ها نیاز به تست آن‌ها به شدت احساس می‌شود. برای تست‌های مختلف چندین ابزار خودکار را به صورت مختصر معرفی می‌کنیم. بیشتر بخوانید »

انواع تست: کاشف خطا شوید!

انواع تست: کاشف خطا شوید!

در جامعه امروزی پروژه‌های نرم‌افزاری پیچیده شده‌اند و برای حل مسائل پیچیده طراحی می‌شوند. شرکت‌های نرم‌افزاری هزینه‌های زیادی را در تحلیل و تست صرف می‌کنند. خودکارسازی تست‌ها باعث می‌شود که توسعه‌دهندگان زمان بیشتری بر جنبه‌های دیگر داشته باشند. همچنین می‌توان تست‌ها را به دفعات و در هر زمانی تکرار کرد. به این ترتیب کارایی تست افزایش و زمان آن کاهش می‌یابد. در پست قبلی به تست عملکرد و تست استرس اشاره شده و نرم افزار مرتبط با آن‌ها معرفی شد. در این پست نیز به تست اکتشافی و تست رگرسیون می‌پردازیم.

بیشتر بخوانید »

انواع تست: استرس دارید؟ تست کنید!

انواع تست: استرس دارید؟ تست کنید!

یکی از مهمترین مراحل تولید نرم افزار، فاز تست و رفع اشکال سیستم است که در تمام متدهای تولید سیستم‌های نرم‌افزاری از جمله RUP برای آن روش مدونی در نظر گرفته شده است.

تعریف تست یک نرم‌افزار را می‌توان فرآیندی جهت کشف خطاهای کشف نشده نرم‌افزار در جهت مرتفع نمودن آن‌ها عنوان نمود. از انواع مختلف تست نرم‌افزار عبارتند از تست عملکرد، تست استرس، تست اکتشافی، تست تطبیق پذیری با محیط، تست امنیت بر شمرد. در ادامه به توضیحی کوتاه در خصوص هر کدام می‌پردازیم. بیشتر بخوانید »

سطوح تست نرم‌افزار: پله پله تست کنید!

سطوح تست نرم‌افزار: پله پله تست کنید!

در فرآیند تست نرم‌افزار، مجموعه‌ای از مراحل و فعالیت‌های مختلف تست تعریف می‌شوند که هر یک از آنها در یک سطح خاص بر روی تست، تمرکز دارد. تست نرم‌افزار عموما در چهار سطح مختلف صورت می‌گیرد که این چهار مرحله به صورت ترتیبی انجام می‌پذیرند و عبارتند از :

بیشتر بخوانید »

تست جعبه خاکستری: ترکیب تست جعبه سفید و سیاه

تست جعبه خاکستری: ترکیب تست جعبه سفید و سیاه

تست جعبه خاکستری (Gray Box Testing Strategy) روشی برای تست نرم‌افزار است که با آگاهی کم از فعالیت‌های داخلی برنامه انجام می‌گیرد. این تست ترکیبی از تست جعبه سفید و سیاه است.همان‌طور که می‌دانید تستر در استراتژی جعبه سیاه از ساختار داخلی  برنامه اطلاعی نداشته و در مقابل در استراتژی جعبه سفید آگاهی کامل ازساختار داخلی دارد. اما در استراتژی جعبه خاکستری تستر تا حدودی از ساختار داخلی برنامه آگاه بوده که این شامل دسترسی به ساختارداده‌های داخلی و الگوریتم‌ها در جهت طراحی Test Case ها است. علت نام‌گذاری این روش آن است که تستر برنامه را مانند جعبه‌ای نیمه شفاف و خاکستری رنگ تصور می‌کند که تا حدودی ساختار داخلی برنامه را از بیرون می‌بیند.

بیشتر بخوانید »