EF Code First #5
مقدمه:
مدیریت آزمون مایکروسافت یا Microsoft Test Manager یک ابزار تست نویسی است که به تسترها این اجازه را میدهد تا بتوانند برای UI برنامههای خود یا sprintهای پروژه خود تست بنویسند. این ابزار برای نوشتن آزمونهای پیشرفته و مجتمع سازی مدیریت طرحهای تست یا test plans همراه با موردهای تست یا test case در طول توسعه برنامه است. یکی از مزایایی که این ابزار دارد این است که در طول انجام تست میتوانید اشکالات تست را ثبت کنید و هم چنین میتوانید شرحی در مورد انجام تست یا اشکالی که در آن تست وجود دارد، ثبت کنید. همچنین میتوانید گزارشی از تست هایی که انجام داده اید و پاس شدن یا پاس نشدن تستها و تاریخ انجام آنها را نیز مشاهده کنید. قبل از کار با نرم افزار MTM باید یک سری مطالب مهم را در مورد انجام تست و مفهوم Agile بدانیم.
استراتژی تست:
زمانی که شما تست Agile را معرفی میکنید تیم برنامه نویسی شما میتواند بر روی تستهای شما هم در سطح sprint و هم در سطح پروژه تمرکز کنند. تست در سطح sprint شامل تست هایی میشود که همه user storyها در بر بگیرد یعنی در واقع همان تستهای واحد شما میشود. در سطح پروژه هم شامل تست هایی میشود که چندین sprint را در بر میگیرد که در واقع میتوان تستهای integrated گفت. بهتر است زمانی که تیم برنامه نویسی کدنویسی میکنند شما طرح تستهای خود را بسازید و برای انجام تست کاملا آماده باشید. این تستها شامل تست واحد، تست performance، تست امنیتی و تست usability و غیره میباشد.
برای آماده کردن تست Agile در ابتدا شما باید یک تاریخچه یا history از برنامه یا سیستم خود داشته باشید. شما میتوانید با استفاده از Microsoft Test Manager طرح تست خود را برای هر یک از sprintهای پروژتان بسازید و موردهای تست را مشخص کنید.
سپس باید کدهایی که برنامه نویسان مینویسند قابلیت تست را داشته باشند و شما به عنوان یک تستر باید آشنایی کاملی از ساختار و الگوهای برنامه تان داشته باشید.
تست یک فرآیند تکراری میباشد که همزمان با اجرای پروژه تان صورت میگیرد در زیر میتوانید فرآیند کار تست و انجام کدنویسی را مشاهده نمایید:
Test Planning:
Test Planning فرآیندی است که به تیم شما کمک میکند تا درک درستی از پروژه داشته باشند و همچنین تیم را برای انجام هر گونه تستی آماده کند. تست Agile در سطح Sprint انجام میشود که در هر Sprint تیم شما تست هایی را ایجاد میکنند تا user story هایی که در هر Sprint وجود دارد، مورد بررسی قرار گیرند. در شکل زیر قالبی از test planهای شما در یک پروژه را نمایش میدهد:
البته این قالبها بر اساس سلیقه شخصی است اما در کل میتوانیم قالب تست را به صورت بالا در نظر بگیریم.
همیشه باید این را در نظر داشته باشیم که در طول هر sprint حتما باید تستها را اجرا کرده و در صورت وجود خطا، آن خطا را رفع کنیم تا در مراحل بالاتر با مشکلی مواجه نشویم. در قسمت بعد با Microsoft Test Manager و روشهای نوشتن sprint و تستها آشنا خواهیم شد.
اهمیت code review
به استحضار میرساند نمایشگاه کار رویدادی است که تعداد زیادی از جویندگان
کار و شرکتها به منظور تبادل اطلاعات در رابطه با مشاغل مورد نیاز و معرفی
شرکت هایشان در آن، بصورت فصلی و یا سالیانه برگزار
می
گردد که میتوان از آن بعنوان نمایشگاه فرصتهای شغلی یاد کرد بنحوی که
فرصتهای فراوان کاری و کارآفرینی در اکثر زمینههای تحصیلی برای دانشجویان
و تازه فارغ التحصیلان ارائه میشود. این نمایشگاه فرصت مناسبی را برای
شرکتها و سازمانها فراهم میآورد تا با تعداد زیادی از نیروهای جویای کار
ملاقات کرده و در یک فضای رقابتی نسبت به جذب نفرات مورد نظر خویش اقدام
نمایند.
مدیریت سفارشی سطوح دسترسی کاربران در MVC
من فکر میکنم باید حالتهای دیگه ای رو هم بررسی کنی. مثلاً اینکه تغییر در نقش کاربر بوده یا مجوزهای نقش. اگر کاربر در حین پر کردن یک فرم AJAXیی مجوزش گرفته شد چه واکنشی باید رخ بده؟ آیا تمامی این بررسیها و پیاده سازی اونها، به ایجاد یک ارتباط ساده و واکشی مجوز جاری کاربر برای درخواست برتری دارند؟
اگر امکانش رو داری، یک بررسی زمانی بین اون سیستم مدیریت Cache (با در نظر گرفتن تمامی حالت ها) و ایجاد ارتباط ساده با پایگاه داده برای بررسی داشتن مجوز کاربر انجام بده.
ارتقاء از WinForms به WPF
شاید مهمترین رخداد وبلاگهای مرتبط با برنامه نویسی ایرانی در نیمه دوم سال 89، انتشار کتابچه اسکرام و XP ساده شده به زبان فارسی باشد. یکی از فصول این کتابچه، به روشهای تهیه Product backlog اختصاص دارد که جزو قسمتهای اولیه پروسه اسکرام است و میشود به آن یک to-do list الویت بندی شده هم گفت. تیمهای مایکروسافت هم به نظر کمابیش بر همین اساس مدیریت میشوند. در ادامه لیستی از سایتهایی را مشاهده خواهید کرد که این تیمهای گوناگون درون مایکروسافت از آنها جهت تامین product backlog خود استفاده میکنند؛ کاربران (که در اینجا همان برنامه نویسها هستند) با مراجعه به این سایتها نیازهای خود را عنوان کرده و همچنین با وجود امکانات رای دهی، امکان تهیه لیستهایی اولویت بندی شده هم وجود دارد:
و ...
تیمهای خارج از مایکروسافت هم از این ایده استفاده میکنند؛ مانند: