استراتژی ها و تاکتیک های تست برای اپلیکیشن های موبایل
تست اپلیکیشن های موبایل فرآیندی زمان بر و هزینه بر می باشد، اما لازمه حصول اطمینان از بابت تجربه کاربری مثبت می باشد. کسب اطمینان از این جهت که کاربران همواره از تجربه خوبی از اپلیکیشن شما برخوردار می شوند بسیار مهم است، زیرا باعث وفاداری آنها می گردد. اگر در مراحل تست اپلیکیشن خود غفلت کنید، کاربران مجبور به تست می شوند، اما بر خلاف تیم تست که مجهز به ابزارهایی هستند، آنها چیزی در اختیار ندارند و اغلب زمانی هم به این کار اختصاص نمی دهند، در صورت بروز مشکل اغلب آنها واکنشی نشان نمی دهند و دیگر از اپلیکیشن شما استفاده نمی کنند. یقینا برنامه نویس نهایت تلاش خود را به کار گرفته تا محصول بی نقصی تولید نماید، اما هدف از تست تنها یافتن خطاهای احتمالی نیست، بلکه راهی است برای درک کیفیت اپلیکیشن، آیا محصول به درستی کار می کند؟ آیا عملکرد آن طبق انتظارات است؟ آیا با نیازمندی های کاربران هم خوانی دارد؟ فرآیند تست اپلیکیشن های موبایل دارای چالش های فراوانی است. باید تعادلی ایجاد کنید و به گزینش ادغامی از تکنیک های گوناگون تست بپردازید. هر متد تستی دارای مزایا و معایب منحصر به فرد خود می باشد، بنابراین نمی توان از یک متد خاص انتظار ارضای تمامی نیازها را داشت. شما باید استراتژی تستی را برگزینید که قادر به ادغام گزینه های تست متعدد باشد و در مجموع بهترین نتیجه را پیش روی شما قرار دهد، از طرفی توانایی برقراری تعادلی بین هزینه، کیفیت و بازاریابی را دارا باشد.
در این مقاله به شرح چندین گزینه برای تست اپلیکیشن های موبایل خواهیم پرداخت و فاکتورهای دخیل برای مشخص کردن استراتژی تست را توضیح خواهیم داد. در نهایت پیشنهاداتی برای ادغام متدهای گوناگون و حصول بهترین نتیجه در اختیار شما قرار خواهیم داد.
اپلیکیشن های نیتیو
برای اکثر افراد، اپلیکیشن های موبایل با اپلیکیشن ها نیتیو یا هیبرید مترادف هستند، این اپلیکیشن ها که معمولا از اپ استور دانلود می شوند، به ارائه تجربه خاصی از قابلیت های گوشی و سیستم عامل می پردازند. دانلود اپلیکیشن ها اغلب توسط اپ استور تحت کنترل در می آید و دارای مکانیزم هایی برای کسب مبلغی از مشتریان بالقوه است. این مدل ساده و ثابت شده از کسب درآمد باعث ترویج هر چه بیشتر اپلیکیشن های نیتیو در جوامع توسعه دهندگان شده است. علاوه بر قدرت پذیرش آنها در بازار مشتری، آنها به بنگاه ها امکان تحویل ابزارهای بهره وری به نیروی کار فزاینده موبایل را می دهند.
اپلیکیشن های نیتیو علاوه بر تامین تجربه غنی و ارزشمند برای مشتریان و منفعت برای سازندگان، به زندگی افرادی که برای تست آنها مهارت یافته اند نیز، پیچیدگی هایی را می افزاید.
در فرآیند تست باید مشخص شود که آیا اپلیکیشن با موفقیت بر روی گوشی نصب شده، بدون هیچ مشکلی اجرا می شود و به راحتی به تعامل با زیرساخت های بک اند می پردازد. در زمان اعمال آپدیت جدید باید مطمئن باشید که این آپدیت به دست کاربر رسیده و توسط او پذیرفته شده است. اغلب این تصور نادرست وجود دارد که تنها با تست عملکرد اپلیکیشن بر روی یک گوشی، می توان از بابت عملکرد مشابه در سایر سیستم عامل ها نیز اطمینان حاصل نمود.
اپلیکیشن های نیتیو به سخت افزار و سیستم عاملی که برای آن نوشته شده اند، وابستگی کامل دارند، از این روی در روند تست اپلیکیشن لازم است کلیه گوشی هایی را که از اپلیکیشن شما پشتیبانی می کنند، مورد بررسی قرار دهید، از سوی دیگر باید تمامی گوشی های قدیمی تر را نیز در روند کاری خود بگنجانید و از سازگاری آنها با اپلیکیشن خود اطمینان حاصل کنید. در نظر گرفتن آپدیت های انجام شده بر روی سیستم عامل نیز از جایگاه ویژه ای برخوردار است.
وب اپلیکیشن ها
همانند وب، وب اپلیکیشن ها نیز قابل مشاهده توسط افراد در سرتاسر جهان هستند، حتی اگر برای کاربران یک کشور و یا شبکه خاص ساخته شده باشند. اتخاذ رویکرد استاندارد وب اپلیکیشن ها، لزوم نوشتن کد بر اساس سیستم عامل های گوناگون را کاهش می دهد، اما هنوز هم با چالش هایی مواجه است.
هنگام تست اپلیکیشن های نیتیو و وب اپلیکیشن ها، چالش های فراوانی وجود دارند که باید با آنها دست و پنجه نرم کنید. پس از درک کامل هر چالش باید به مدیریت و کاهش ریسک ها مشغول شوید. به منظور اتخاذ راه حل های درست لازم است ارزیابی کاملی از مزایا و معایب هر گزینه داشته باشید، پس از آن به تعیین بهترین تکنولوژی که با احتیاجات شما هم خوانی دارد بپردازید.
گوشی ها: چالش بر انگیزترین بخش از فرآیند تست
گوشی های موبایلی که توسط کاربران مورد استفاده قرار می گیرند، مشهودترین چالش در فرآیند تست می باشند. ده ها هزار گوشی مختلف برای دسترسی به اپلیکیشن موبایل یا وب سایت مورد استفاده قرار می گیرند، لذا تمامی آنها باید در روند تست در نظر گرفته شوند. در کنار این موضوع، چالش بعدی به نسخه های گوناگون از سیستم عامل ها مربوط می شود. مطمئنا توانایی تست اپلیکیشن بر روی تمامی گوشی ها وجود ندارد، اما در این حالت ریسک عملکرد نادرست بر روی برخی از گوشی ها افزایش می یابد. به منظور فایق آمدن بر این مشکل یک گزینه پیش روی شما قرار دارد: شما می توانید تست را بر روی گوشی های واقعی انجام دهید، از گوشی ها شبیه سازی شده استفاده کنید و یا از ادغامی از گزینه های مذکور بهره بگیرید.
استفاده از گوشی های واقعی دارای مزیت برخورداری از محدودیت ها و ویژگی های سیستم عامل، سخت افزار و نرم افزار می باشد، اما از سوی دیگر باید هزینه بالایی را متحمل شوید. یکی از گزینه های پیشنهادی قرض گرفتن گوشی از سازندگان آن است، البته در این حالت نیز باید هزینه های اعتبار و اشتراک را متقبل شوید. از سوی دیگر بی نظمی و فشار کاری در این فرآیند حکم فرماست، چرا که محیط تست از قابلیت ساخت، جمع آوری و تولید مجدد نتایج به شیوه ای سازگار، برخوردار نمی باشد.
گوشی های شبیه سازی شده گزینه بعدی اند که از لحاظ مدیریت دارای سهولت بیشتری می باشند. شما می توانید با انتخاب انواع گوشی ها یک پروفایل جدید ایجاد نمایید، در نتیجه گوشی به شکل نسخه واقعی به نمایش گذاشته می شود و می توانید اپلیکیشن را بر روی آن تست کنید. شبیه سازها بر روی کامپیوترها و سرورهای قدرتمند اجرا می شوند و به منظور تست طراحی و ساخته شده اند، از این روی به امکانات تشخیصی خوبی مجهز هستند.
هنگام مواجهه با خطا، می توانید از اطلاعاتی برای تصحیح آن بهره ببرید. چنین رویکردهایی بسیار ارزشمند هستند، چرا که یک پلت فرم قابلیت استفاده از گوشی های مختلف و آپدیت های مکرر را در اختیار تیم تست قرار می دهد.
بزرگ ترین عیب شبیه سازهای گوشی عدم برخورداری از ویژگی ها، کاستی ها و خصوصیات مربوط به گوشی واقعی است، چنین سیستمی قادر به در اختیار قرار دادن رندر دقیق پیکسلی نمی باشد، از سوی دیگر قدرت پردازش کامپیوتر نیز یک عنصر تعیین کننده می باشد و شاید از برخی مسائل مربوط به ریسپانسیو بودن اپلیکیشن نیز چشم پوشی شود. گوشی شبیه سازی شده حساسیتی به شرایط محیطی که عملکرد گوشی را تحت تاثیر قرار می دهند، نشان نمی دهد. در اکثر شرایط استفاده از این نوع سیستم گزینه خوبی است، اما برای درک بهتر شرایط استفاده از گوشی واقعی پیشنهاد می شود.
خوشبختانه هیچ گونه محدودیتی در انتخاب شما وجود ندارد، رویکرد سوم ادغامی از رویکردهای مذکور می باشد، در این صورت از مزایای هر دو برخوردار خواهید شد. تست از طریق گوشی شبیه سازی شده هزینه کمی را برای شما به دنبال خواهد داشت، اما در اوایل فرآیند به رندر پیکسلی نیاز خواهد بود که تنها توسط گوشی واقعی قابل تحقق است. در این رویکرد تعادلی بین عدم اطمینان از بابت تست و پوشش گستره عظیمی از گوشی ها برقرار می شود. تست بر روی گوشی واقعی در مراحل بعدی چرخه توسعه دارای فوایدی است و می توان از بابت عملکرد مورد انتظار اپلیکیشن اطمینان حاصل کرد. شبکه: یک چالش منطقه ای بیش از 400 اپراتور شبکه موبایل در سراسر جهان وجود دارند. هر اپراتوری تکنولوژی های شبکه به خصوصی را پشتیبانی می کند، برخی نیز از استانداردهای محلی بهره می گیرند. هر شبکه دارای ادغامی منحصر به فرد از زیرساخت های شبکه است که پروتکل های بسته ای مورد استفاده در شبکه موبایل را به پروتکل های TCP-IP تبدیل می کند. هر اپراتوری از سیستم های منحصر به فرد برای اجرای فرآیند تونلینگ استفاده می نماید، اما در کل اکثر اپراتورهای شبکه از پروکسی های وب مشابهی برای برقراری ارتباط استفاده می کنند. اپراتور قادر به محدود کردن اطلاعاتی که بین سرور شما و کلاینت تست مبادله می شود می باشد، بدین صورت که برخی از پروکسی ها، وب سایت هایی را که قادر به دستیابی به آنها از طریق گوشی هستید، محدود می کنند، سایر پروکسی ها از transcoding به منظور کاهش محتوا جهت سازگاری بهتر با گوشی بهره می گیرند، با تمامی این اوصاف می توان فهمید که چالش مرتبط با شبکه از پیچیدگی زیادی برخوردار است.
پرداختن به چالش شبکه بدون در نظر گرفتن موقعیت، غیر ممکن است. پر واضح است که به منظور تست کامل زیرساخت یک اپراتور شبکه باید به شبکه مورد نظر متصل باشید. از آنجا که سیگنال های رادیوئی در شبکه های تلفن همراه از قدرت بالایی برخوردار نیستند، بر دشواری کار افزوده می شود. بنابراین باید در مجاورت محل قرارگیری هسته اپراتور شبکه به منظور انجام عملیات تست، قرار گرفته باشید. بای پس کردن شبکه
زمانی که لایه های ابتدایی شبکه را پشت سر می گذارید، می توانید از TCP/IP به منظور اتصال مستقیم به سرور استفاده کنید و سیستم تونلینگ GPRS را که توسط اپراتورهای شبکه استفاده می شود، نادیده بگیرید. از آنجا که اغلب گوشی ها قادر به انجام چنین فرآیندی نیستند، بهتر است از شبیه ساز گوشی به این منظور بهره بگیرید. البته در بین شبیه سازهای گوشی نیز محدودیت وجود دارد، لازم است گزینه ای را برگزینید که قادر به بای پس شبکه توسط اینترنت باشد. برخی از شبیه سازها دارای قابلیت دسترسی به پروکسی اپراتور نیز می باشند و مسلما وب پروکسی های اپراتور تنها در دسترس مشتریان خود قرار دارد، اما در اینترنت پروکسی های دیگری وجود دارند که می توان به این منظور از آنها بهره جست.
مزیت این روش عدم نیاز به پرداخت اعتبار است و از آنجا که از شبیه ساز گوشی استفاده می کنید، از سایر مزایا نیز برخوردار خواهید شد.
شایان ذکر است که بای پس شبکه قادر به شبیه سازی اثرات و زمان بندی شبکه و عناصر دخیل مانند پروکسی ها نمی باشد و هنگام استفاده از این تکنیک قادر به بهره گیری از گوشی نمی باشید، بنابراین نمی توانید از ویژگی ها و محدودیت های پیش روی مشتریان آگاهی کامل حاصل کنید. شبکه های واقعی تست شبکه های واقعی امکان پذیر است، بدین صورت که گوشی های واقعی را در محل مورد نظر مورد تست قرار دهید. برخی از شبیه سازهای گوشی به شما امکان پشتیبانی از مودم هایی را می دهند که می توان در گوشی شبیه سازی شده مورد استفاده قرار داد.
روش پیشنهادی شامل استفاده از یک گوشی درون یک جعبه با کنترل از راه دور می باشد که دارای آنتن راه دور است، کنترل راه دور مستقیما به صفحه گوشی و مدارهای کلیدهای کنترلی متصل شده و دارای قابلیت فشردن دکمه ها و جمع آوری تصاویر از صفحه نمایش است، بدین ترتیب کاربر می تواند با کامپیوتر خود گوشی را تحت کنترل در آورد.
این رویکرد برای ثبت مراحل و پخش مجدد آن مفید است و برای تست رگرسیون و ساخت خودکار به کار می آید.
البته به علت وجود گستره عظیمی از گوشی ها و مدل های گوناگون، چنین روشی بسیار هزینه بر به نظر می رسد، ولی با اجاره چنین دستگاه هایی می توانید از پس هزینه های آن بر آیید.
اسکریپت نویسی: تکرار چالش
آخرین چالش مرتبط با فرآیند تست، به اسکریپت نویسی باز می گردد که متدی برای تعریف فرآیند تست است. اجرای اسکریپت می تواند به صورت دستی یا خودکار انجام پذیرد. می توانید اسکریپت را در یک داکیومنت و یا فایل اکسل درست کنید، مهندس تست که در حال تعامل با محیط تست است، موفقیت یا شکست تمامی گزینه های را مشخص خواهد ساخت، در روش خودکار نیز نتایج نهایی برای شما ثبت خواهد شد.
به دلیل تعدد گوشی ها و رابط ها، اسکرپت نویسی خودکار باید به دور از انتزاع باشد. برای مثال اسکریپتی را در نظر بگیرید که از حرکات محدود شده به گوشی آیفون بهره می گیرد، این اسکریپت به هیچ عنوان بر روی گوشی سامسونگ جوابگو نخواهد بود، چرا که رابط های کاربری در دو گوشی کاملا متفاوتند. خوشبختانه بسیاری از نرم افزارهای اسکریپت نویسی خودکار از اسکریپت های سطح بالا پشتیبانی می کنند و شبیه سازهای گوشی نیز با آن سازگاری دارند.
استفاده از اسکریپت خودکار هزینه بیشتر در مقایسه با نوع دستی آن در بر خواهد داشت، اما اگر به صورت دوره ای آن را مورد استفاده قرار می دهید، در هزینه و تلاش صرفه جویی خواهد شد.
بسیاری از ابزارهای اسکریپت نویسی قابلیت کرال کردن در وب سایت یا اپلیکیشن موبایل را دارند، بدین ترتیب تنها با یک دستور، کل سایت تست می شود، البته چنین قابلیتی برای تراکنش های پیچیده پاسخ گو نیست اما از سرعت و قدرت عملکرد بالایی برخوردار است. پیشنهادات در این مرحله شما با بسیاری از چالش های تست در اپلیکیشن ها آشنایی پیدا کردید، اما با این اطلاعات چه خواهید کرد؟ چه استراتژی تستی را پیش روی خواهید گرفت؟ انتخاب ابزار و تکنیک خاص در اینجا مطرح نیست، شما قادر به استفاده از ادغامی از ابزارهای تست و تکنیک هایی که نیازهای شما را ارضا می کنند، هستید. با استفاده از پیشنهادات زیر می توانید تعداد گزینه ها را کم کرده و فرآیند تصمیم گیری را سهولت بخشید: 1. از مزایای شبیه ساز گوشی بهره ببرید. این ابزارها با در اختیار قرار دادن گستره ای از گوشی ها عملیات را با سرعت بیشتر و هزینه کمتر برای شما امکان پذیر می سازند. استفاده از بای پس شبکه، شبکه های واقعی با مودم و زبان اسکریپت نویسی کارآمد با این رویکرد پیشنهاد می شود. هنگام انتخاب نوع شبیه ساز از بابت امکانات و قابلیت های آن اطمینان حاصل کنید و گزینه ای را که از انعطاف و سازگاری بیشتری برخوردار است، برگزینید. توانایی رفع خطا گزینه دیگری است که شبیه ساز را متمایز می گرداند، لازم است به اسکریپت ها و قابلیت تست مجدد آن نیز توجه کنید، امکان تعویض سریع گوشی نیز یکی دیگر از ویژگی های شبیه سازهای برتر می باشد. 2. سرمایه گذاری در یک دستگاه واقعی. در صورتی که نیاز به تست از راه دور داشته باشید، باید با فروشنده ای که چنین امکانی را در اختیار شما قرار می دهد ارتباط برقرار کنید و هر زمان که نیاز است اقدام به تست نمایید. 3. هر جایی که امکان دارد به خودکارسازی فرآیند بپردازید. شبیه سازها و دستگاه های تست از راه دور که از اسکریپت و قابلیت اجرای مجدد پشتیبانی می کنند، تست معقولی را به دنبال خواهند داشت که از درجه ثبات بالاتری برخوردار است، به طور خلاصه راه حلی که گوشی های واقعی و شبیه سازی شده را به شکل کارآمدی ادغام کند، گزینه ایده آل است. http://www.keynote.com برگرفته از