راندمانو
qa

با تضمین کیفیت (QA) در فرآیند توسعه اپلیکیشن آشنا شوید!

تضمین کیفیت یا همان QA (Quality Assurance) یکی از مهم‌ترین بخش‌های فرایند توسعه و تست اپلیکیشن (App Developement) است. می‌دانیم که هیچ‌وقت کدها از همان اول که نوشته می‌شوند، به درستی کار نمی‌کنند و خروارها ایراد دارند. برای آن که این ایرادات گرفته شود، لازم است یک فرایند تست اپلیکیشن وجود داشته باشد که از نقطه نظرات مختلف، اپ را آزمایش کرده و کیفیت آن را بسنجد.

وقتی تضمین کیفیت (QA) انجام می‌دهید، بسیاری از باگ‌ها و ایرادات اپلیکیشن خود را قبل از ورود آن به بازار می‌توانید پیدا و اصلاح کنید؛ در نتیجه می‌توانید تجربه کاربری بهتری را به مخاطب خود ارائه دهید.

تضمین کدام کیفیت دقیقاً؟!

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

خب، در پاسخ باید بگوییم که کیفیت یک چیز کاملاً توافقی است. کارفرما یا تیم توسعه اپلیکیشن انتظاراتی که از کیفیت اپ دارند را برای تیم QA مطرح می‌کنند و این تیم هم بر اساس این که آیا نرم‌افزار بیرون آمده از چرخه عمر توسعه اپلیکیشن (SDLC) با این انتظارات همخوانی دارد یا نه، ایرادات و مشکلات مختلف اپلیکیشن را پیدا می‌کنند.

در این مقاله از وبلاگ راندمانو در خصوص تضمین کیفیت QA و تست اپلیکیشن صحبت می‌کنیم و نقش آن را در مراحل تست نرم‌افزار توضیح می‌دهیم.

تضمین کیفیت (QA) چیست؟

qa

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

تضمین کیفیت باعث می‌شود در زمان، انرژی و هزینه‌ای که برای ساخت، راه اندازی و ارائه یک اپلیکیشن به بازار خرج می‌شود، صرفه جویی کنید.

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

در تست اپلیکیشن، تضمین کیفیت از کنترل کیفیت (QC) فراتر می‌رود تا کیفیت برنامه را بر اساس نقطه نظرات مختلف بررسی کند.

دیدگاه‌هایی که در فرایند تضمین کیفیت بر اساس آن‌ها اپلیکیشن را تست می‌کنیم، عبارت‌اند از:

Transcendental view (دیدگاه انتزاعی): این دیدگاه تصوری از کیفیت به ما می‌دهد؛ ولی نمی‌توانیم مقدار کیفیت را اندازه بگیریم. فقط متوجه می‌شویم که برنامه، با کیفیت است.

User view (دیدگاه کاربر): چگونگی درک و تجربه کاربر نهایی از اپلیکیشن.

Manufacturing view (دیدگاه مبتنی بر ساخت): در این دیدگاه فرض می‌شود اپلیکیشن بدون کوچک‌ترین خطا و ایرادی در طول پروسه SDLC ساخته شده است.

Product view (دیدگاه محصول محور): در این دیدگاه، این که محصول (اپلیکیشن) ساخته شده چقدر با الزامات و استانداردهای تعریف شده مطابقت دارد، مورد بررسی قرار می‌گیرد.

Value-based view (دیدگاه ارزش محور): اپلیکیشن ساخته شده، چقدر می‌تواند برای کارفرما ارزش خلق کند. آیا این اپلیکیشن نیازهای کارفرما را رفع می‌کند؟

چرا تضمین کیفیت (QA) مهم است؟

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

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

مراحل فرایند تضمین کیفیت (QA)

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

تست‌های عملکردی (Functionality Tests)

تست عملکرد معمولاً اولین گام در فرایند تضمین کیفیت است. توسعه‌دهندگان در این مرحله هر ویژگی برنامه را تست می‌کنند تا متوجه شوند که مطابق با هدف تعیین شده‌اش کار می‌کند. در این مرحله، سناریوهای مختلف برای هر ویژگی اپلیکیشن تست می‌شود تا بفهمیم عملکردهای مختلف اپلیکیشن درست است.

اگر مشکلات اساسی در اپ وجود داشته باشد، در این مرحله متوجه آن می‌شوید.

تست‌های چند پلتفرمی (Cross-Platform Tests)

اگر اپلیکیشن خود را برای سیستم‌عامل‌های مختلف توسعه می‌دهید، با این تست‌ها می‌توانید متوجه شوید که تمام نسخه‌های اپلیکیشن شما (برای تمامی پلتفرم‌ها) عملکرد یکسانی را ارائه می‌دهند.

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

تست رابط و تجربه کاربری (UI/UX Testing)

برای آن که بتوانید یک اپلیکیشن خوب به بازار ارائه دهید، برنامه شما نه تنها باید درست کار کند، بلکه باید کار کردن با آن ساده یا حتی جذاب هم باشد. به بیانی دیگر، تجربه و رابط کاربری درستی باید به مخاطب خود ارائه بدهد؛ پس لازم است تست‌های رابط و تجربه کاربری را هم بگذراند.

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

حواستان باشد کاربران آزمایشی که انتخاب می‌کنید باید مطابق با پرسونای مخاطب اپلیکیشن و کسب‌وکارتان باشند.

تست‌های امنیتی (Security Tests)

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

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

تست کارایی (Performance Testing)

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

ممکن است بپرسید فرق تست عملکرد (Functional) با تست کارایی (Performance) چیه.

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

برای مثال، ممکن است در تست کارایی متوجه شوید که برنامه شما حجم زیادی را روی موبایل افراد می‌گیرد. یا وقتی برنامه سامسونگ هلث (Samsung Health) باز است، اپلیکیشن شما به درستی کار نمی‌کند. یا حتی ممکن است متوجه شوید برنامه شما، باتری موبایل را زیاد مصرف می‌کند.

بنابراین، یکی از مهم‌ترین مراحل تست QA، تست کارایی آن در ارتباط با شرایط محیط واقعی است.

تست بازگشت (Regression Testing)

به احتمال زیاد، در آینده نیاز دارید اپلیکیشن خود را به‌روزرسانی کنید. این به‌روزرسانی می‌تواند مشکلات زیادی را در برنامه به وجود بیاورد. برای آن که مطمئن شوید کدها آن قدر قوی هستند که تغییرات آینده را می‌توانند هندل کنند، لازم است تست Regression را انجام دهید.

اپلیکیشن شما باید همیشه برای به‌روزرسانی آماده باشد. تغییرات کوچک در اپ نباید مشکلات زیادی را به وجود بیاورد.

تست خودکار (Automation Testing)

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

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

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

برای همین، پیشنهاد می‌کنیم که در انتهای کار، یک تست خودکار هم از اپ خود بگیرید.

برون سپاری تست QA

تضمین کیفیت

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

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

انجام تست‌های QA یکی از خدمات آژانس پروداکت مارکتینگ راندمانو است. اگر تمایل دارید در این زمینه بیشتر بدانید، با متخصصین راندمانو در ارتباط باشید.

و در آخر

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

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

امیدواریم این مقاله برای شما مفید و کاربردی واقع شده باشد.

اگر سؤالی در زمینه QA یا مراحل تست تضمین کیفیت دارید، در قسمت نظرات زیر همین مقاله آن را مطرح کنید تا بتوانم در سریع‌ترین زمان ممکن، راهنمای شما باشیم.

4.7/5 از مجموع 17 رای
راندمانو

راندمانو

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

راندمانو

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

14 نظر

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

  1. خوب بود ولی به نظرم بیشتر جای توضیح داشت مثلا Functionality Tests رو بیشتر باز میکردین

  2. عالی بود. ممنون از انتشار این مطلب
    من مطالب QA دنبال میکنم و در این شغل مشغول هستم.

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

  3. سلام لطف می‌کنید با من برای طراحی سایت تماس بگیرید؟ تلفن مشغول بود

  4. خیلی ممنون از مقاله خوبتون، آیا شرکتی هست که تست qa رو به صورت پروژه ای انجام بده؟ ما یک اپلیکیشن در حوزه پزشکی داریم که به تست qa نیاز داریم

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

  5. خیلی ممنون میشه در مورد شغل qa و وظایف این شغل در شرکت هایی مثل اسنپ و تپسی هم توضیح بدین؟

    1. سلام آتوسا عزیز
      حتماً در این مورد مقاله را منتشر خواهیم کرد. ممنون از همراهی شما
      در این مقاله در قالب مثال‌هایی به پروداکت‌های مشابه اشاره خواهیم کرد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

qa