وبلاگی در مورد دنیای برنامه نویسی، نرم افزار، بازی، کتاب و موضوعات مورد علاقه ام
| ۱۲ مهر, ۱۳۹۴ | Tags: ,

Dynamic Testing
یک روش تست است که در آن برنامه با مقادیر متعدد ورودی اجرا شده و خروجی آن بررسی می گردد.

GUI Testing
تست GUI، فرایند تست واسط کاربری بر اساس نقشه نیازمندی ها و طراحی نرم افزار می باشد.

Formal Testing
به بررسی نرم افزار بر اساس یک طرح مدون تست و ثبت نتایج با اخذ تائید از مشتری، تست رسمی اطلاق می گردد.

Risk Based Testing
تشخیص نقاط عملکرد حیاتی در سیستم و زمان بندی موارد تست بر اساس میزان اهمیت آنها، تست مبتنی بر ریسک خوانده می شود.

Early Testing
اجرای زود هنگام تست در چرخه ایجاد نرم افزار برای کشف خطا در همان مراحل اولیه

Exhaustive Testing
تست عملکرد بر اساس تمامی ورودی های معتبر و نامعتبر و پیش شرط ها

Defect Clustering
ممکن است یک عمل ساده یا ماژول کوچک در نرم افزار منشاء حضور خطاهای متعددی باشد. به دسته بندی و تمرکز بیشتر بر بخش ها ی اینچنین، کلاسترینگ خطا گفته می شود.

Pesticide Paradox
اضافه کردن یا بازبینی موارد تست موجود در صورتی که قادر به تشخیص خطا نباشند.

Static Testing
بررسی دستی کد بدون اجرای برنامه تست استاتیک برنامه نام دارد. در این فرایند، مشکلات موجود در کدها با بررسی کدها، نیازمندی ها و سند طراحی نرم افزار تشخیص داده می شوند.

Positive Testing
به اجرای تست نرم افزار برای تعیین صحت عملکرد سیستم تست مثبت یا گاهی به بیان دیگر test to pass گفته می شود.

Negative Testing
تست نرم افزار با رویکرد منفی برای بررسی عدم نمایش خطا در مواردی که نباید و صحت نمایش خطا در مواردی که باید، تست منفی اطلاق می گردد.

End-to-End Testing
تست یکپارچه عملکرد کل سیستم و بررسی صحت جریان داده بین ماژول های مختلف تست end-to-end خوانده می شود.

Exploratory Testing
کاویدن برنامه، درک عملکرد و اضافه یا ویرایش نمودن موارد تست موجود برای تست بهتر نرم افزار، تست کاوشی نام دارد.

Monkey Testing
تست نرم افزار بدون برنامه و موضع به موضع سیستم برای یافتن نقطه خطای نرم افزار بصورت ترفندی

Non-functionality Testing
بررسی جنبه های غیر اصلی سیستم از قبیل واسط کاربری، امنیت ، سهولت استفاده، سربار، فشار و عملکرد

Usability Testing
بررسی سهولت درک نحوه عمل نرم افزار توسط کاربر

Security Testing
بررسی وجود و پیاده سازی تمام شرایط امنیتی در نرم افزار

Performance Testing
فرایند اندازه گیری مشخصات کارایی یک سیستم از قبیل زمان پاسخ و غیره

Load Testing
تحلیل رفتار عملی و عملکرد برنامه تحت شرایط مختلف

Stress Testing
بررسی رفتار برنامه تحت شرایط پرفشار . یا کاهش منابع سیستم و بررسی عملکرد سیستم در شرایط بار یکسان

Software Configuration Management
فرایند تشخیص، سامان دهی و کنترل تغییرات برای ایجاد و نگهداری نرم افزار – یک متدولوژی برای کنترل و مدیریت یک پروژه ایجاد نرم افزار

Testing Process / Life Cycle
پاسخ:
نگارش طرح تست
سناریوهای تست
موارد تست
اجرای موارد تست
نتایج تست
گزارش نقص
پی گیری نقص
بستن نقص
انتشار تست

Code Walk Through
تحلیل غیر رسمی سورس کد برنامه جهت یافتن خطاها و بررسی تکنیک های کدنویسی

Unit Level Testing
تست بخشی از کد یا ماژول ها و برنامه ها بصورت منفرد

Integration Level Testing
تست ترکیبی بخش ها و ماژول های مختلف نرم افزار در تلفیق با یکدیگر

System Level Testing
تست کل سیستم کامپیوتری با تمام ماژولهایش. این نوع تست می تواند شامل تست عملکرد و تست ساختار باشد.

Alpha Testing
تست کل نرم افزار توسط تیم سازنده پیش از تحویل نرم افزار برای انجام تست پذیرش کاربر

User Acceptance Testing (UAT)
تست سیستم نرم افزاری توسط مشتری جهت بررسی انطباق با نیازمندی ها

Test Plan
سندی شامل توصیف محدوده، روش و برنامه تست نرم افزار که آیتم های تست، ویژگی هایی که باید مورد آزمون قرار گیرند، افراد مجری تست و ریسک هایی که باید به آنها توجه شود در آن درج گردیده است.

Test Scenario
مشخص کننده تمام نواحی لازم به تست

Re-Testing
تست مجدد نرم افزار برای حصول اطمینان از رفع شدن خطا

Regression Testing
تست نرم افزار پس از اعمال تغییرات جدید یا اضافه شدن بخش جدید به منظور اطمینان از عدم تاثیر منفی تغییرات بر عملکرد بخش های دیگر

Recovery Testing
بررسی توانایی سیستم در کنترل و عبور از وضعیت های پیش بینی نشده

Globalization Testing
تست توانایی عمل نرم افزار بصورت مستقل از حوزه جغرافیای و محیط های زبانی و فرهنگی مختلف

Localization Testing
تست توانایی نرم افزار برای تطبیق با نیازمندیهای محلی کاربران یک ناحیه جغرافیایی خاص

Installation Testing
تست امکان نصب صحیح نرم افزار بر اساس دستورالعمل های نصب ارائه شده

Un-installation Testing
تست حذف صحیح و موفق نرم افزار از سیستم کاربر

Compatibility Testing
تست سازگاری نرم افزار با برنامه ها و سخت افزار ها در بسترها و محیط های مختلف

Test Strategy
بخشی از طرح تست نرم افزار که توصیف کننده نحوه اجرای پروژه تست و انواع تست مورد نیاز می باشد.

Test Case
یک مورد تست مجموعه ای از مراحل از پیش تعیین شده است که رفتار نرم افزار را بر اساس ورودی های معین، قابل بررسی می سازد.

Business Validation Test Case
یک مورد تستی که بررسی کننده انطباق نرم افزار با نیازمندیهای خاص کسب و کار می باشد.

a Good Test Case
مورد تستی که احتمال کشف خطای نرم افزار توسط آن بالا است یک مورد تست خوب محسوب می گردد.

Use Case Testing
ارزیابی نرم افزار از دیدگاه انطباق با الگوی use case ها

Defect Age
زمان بین کشف و رفع عیب
Showstopper Defect
نقیصه ای که مانع از ادامه تست بیشتر نرم افزار و توقف فرایند می گردد.

Test Closure
آخرین مرحله از چرخه تست نرم افزار که در آن گزارشات مختلف جمع بندی شده و آمار کاملی از وقایع دوره تست تدوین می گردد.

Bucket Testing
به این تست که تست A/B نیز گفته می شود برای مطالعه تاثیر طراحی های مختلف محصول بر عملکرد آن مورد استفاده قرار میگیرد.

Web Application Testing
در تست برنامه کاربردی تحت وب، مواردی مانند بار، عملکرد، امنیت، کارایی، واسط کاربری، سازگاری و دیگر موارد مرتبط با کاربرد بررسی می گردد.

Gamma Testing
این تست هنگامی صورت می پذیرد که نرم افزار آماده انتشار بوده و تمام فرایندهای تست خانگی را پشت سر گذارده است.

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

Scalability Testing
از این تست برای بررسی قابلیت نرم افزار در تطبیق با شرایط جدید و افزایش نیازمندی ها بهره گیری می شود.

Fuzz Testing
این یک تکنیک تست جعبه سیاه است که از داده های بد برای حمله به یک نرم افزار و بررسی نقاط شکست بالقوه برنامه مورد استفاده قرار می گیرد.

Date Driven Testing
یک فرایند تست خودکار که طی آن، برنامه نرم افزاری با مجموعه داده ها و حالت های وردی مختلف مورد ارزیابی و بررسی قرار می گیرد.

 

نوشته : مهدی جوانی
| ۲۰ تیر, ۱۳۹۳ | Tags:

از کتاب روش کاربردی تحلیل نیازمندی های نرم افزار نوشته ی یوسف بی بالان – پویا شهبازیان و مظفر ایراف

 

اگر نیازمندی ها را به درستی شناسایی نکنید، خوب انجام داد بقیه پروژه، دیگر اهمیتی نخواهد داشت. – کارل ای ویگرز

 

پروژه موفق

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

در پروژه های توسعه نرم افزار، اولین و مهمترین پارامتر کیفی، تامین صحیح نیازمندی های مشتری است. در عین حال مدیریت خواسته ها و تامین آن ها برای جلوگیری از تغییرات شدید دو پارامتر زمان و هزینه ضروری است.

تبدیل تاریخهای میلادی، شمسی و قمری به یکدیگر

با توجه به در اختیار نبودن اطلاعاتی در مورد تقویم هجری شمسی (جلالی) در کتابخانه NET. برنامه نویسان ایرانی همواره خود به دنبال راه حلهایی جهت گنجاندن قابلیت استفاده از تقویم شمسی در برنامه های کاربردی خود می باشند.
Persia .NET یک کتابخانه با استفاده رایگان می باشد که برنامه نویسان به کمک آن می توانند به راحتی و تنها با یک یا دو خط کدنویسی تاریخهای هجری شمسی، هجری قمری و میلادی را در برنامه های مبتنی بر NET. و به یکدیگر تبدیل نمایند.
Persia .NET از جمله کتابخانه هایی است که امکان استفاده از تقویم هجری شمسی شامل تبدیل آن به تاریخ های میلادی و هجری قمری و بالعکس را دارا می باشد. با آنکه کتابخانه NET. اطلاعات مربوط به تقویم هجری قمری ( تقویم اسلامی) را در خود گنجانده است، ولی با همه اینها کتابخانه Persia قابلیت تبدیل تاریخ میلادی به هجری قمری و با لعکس را به روش ساده تری مهیا نموده است.

مقاله ذیل توضیحات بیشتری در مورد این کتابخانه و نحوه استفاده از آن را در اختیار علاقه مندان گذاشته است.

تبدیل تاریخها با استفاده از Persia .NET

تولید اعداد فارسی

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

دانلود لینک مستقیم [RAR 114 kb]

این کتاب برای توسعه دهندگان WPF و Slilverlight که بر روی الگوی Model-View-ViewModel کار می کنند مناسب است. کتاب Advanced MVVM در ۵۲ صفحه چگونگی استفاده الگوی طراحی MVVM برای ایجاد یک بازی زیبا و مهیج به نام BubbleBurst را شرح می دهد. نویسنده این کتاب Josh Smith است که یک متخصص شناخته شده در زمینه WPF ٬ Silverlight و MVVM می باشد. با مطالعه این کتاب قادر خواهید بود در دیدگاه ها و تجربیات او سهیم شوید و درک درستی از معماری ویو و ویومدل بدست آورید.

لینک دانلود کتاب Advanced MVVM

مدرک MCPD مدرکی است معتبر که پیشرو در طراحی و ساخت سیستم ها و نرم افزارهای تجاری و بازرگانی بوسیله ابزارها و تکنولوژی Microsoft می باشد. برنامه های کاربردی که دارندگان MCPD قادرند طراحی و تولید نمایند شامل طیف وسیعی از نرم افزارهای دسکتاپ تا نرم افزارهای وب و  نرم افزار های تحت سیستم عامل Azure مایکروسافت میباشد. دوره MCPD شامل امتحانات جداگانه ای است که توانائی داوطلبان را در ساخت سیستم های نرم افزاری بر روی سه شاخه ی ویندوز ٬ وب و Azure مورد ارزیابی قرار میدهد. مدرک MCPD یکی از شناخته شده ترین مدارک فنی در دنیای صنعتی امروز میباشد. با کسب این مدرک فرد ثابت خواهد نمود که توانائی لازمه جهت رهبری و مدیریت ، طراحی و پیاده سازی سیستم ها ی نرم افزاری یک سازمان را دارا می باشد.

آزمون های MCPD به شرح زیر است:

Windows Developer 4 on Visual Studio 2010
Exam 70-511: MCTS prerequisite: TS: Windows Applications Development with Microsoft .NET Framework 4
Exam 70-513: MCTS prerequisite: TS: Windows Communication Foundation Development with Microsoft .NET Framework 4
Exam 70-516: MCTS prerequisite: TS: Accessing Data with Microsoft .NET Framework 4
Exam 70-518: MCPD requirement: PRO: Designing and Developing Windows Applications Using Microsoft .NET Framework 4

Web Developer 4 on Visual Studio 2010
Exam 70-515: MCTS prerequisite: TS: Web Applications Development with Microsoft .NET Framework 4
Exam 70-513: MCTS prerequisite: TS: Windows Communication Foundation Development with Microsoft .NET Framework 4
Exam 70-516: MCTS prerequisite: TS: Accessing Data with Microsoft .NET Framework 4
Exam 70-519: MCPD requirement: PRO: Designing and Developing Web Applications Using Microsoft .NET Framework 4

Azure Developer on Visual Studio 2010
Exam 70-513: MCTS prerequisite: TS: Windows Communication Foundation Development with Microsoft .NET Framework 4
Exam 70-516: MCTS prerequisite: TS: Accessing Data with Microsoft .NET Framework 4
Exam 70-583: MCPD requirement: PRO: Designing and Developing Windows Azure Applications

کتاب ها: کتاب های زیر برای دوره های ۵۱۱-۷۰ ٬ ۵۱۵-۷۰ و ۵۱۶-۷۰ توسط مایکروسافت منتشر شده که می توانید آنها را دانلود کنید.

MCTS Self-Paced Training Kit – Exam 70-511

Windows Applications Development with Microsoft .NET Framework 4

دانلود

MCTS Self-Paced Training Kit – Exam 70-515

Web Applications Development with Microsoft .NET Framework 4

دانلود

MCTS Self-Paced Training Kit – Exam 70-516

Accessing Data with Microsoft .NET Framework 4

دانلود