লঞ্চের আগে কিভাবে আপনার অ্যাপ পরীক্ষা করবেন: একটি ব্যবহারিক প্রি-লঞ্চ পরিকল্পনা
লঞ্চের আগে আপনার অ্যাপ পরীক্ষা করতে, একজন ব্যবহারকারীকে যে কয়েকটি যাত্রা শেষ করতে হবে তা তালিকাবদ্ধ করুন, প্রতিটি একজন একেবারে নতুন ব্যবহারকারী হিসেবে ল্যাপটপ ও ফোনে চালান, তারপর তারা যেভাবে ভুল করতে পারে তা চেষ্টা করুন: খালি ডেটা, খারাপ ইনপুট, দ্বিতীয় অ্যাকাউন্ট, ধীর সংযোগ। টাকা বা ব্যক্তিগত তথ্য জড়িত যেকোনো কিছু অতিরিক্ত যত্নে পরীক্ষা করুন, এবং প্রকাশের পরে লাইভ URL-এ মূল যাত্রাগুলো আবার চালান। শেষে, যিনি অ্যাপটি কখনো দেখেননি এমন একজনকে এটি ব্যবহার করতে দেখুন।
এর জন্য QA দল বা টেস্টিং ফ্রেমওয়ার্কের দরকার নেই। দরকার একটি তালিকা, এক-দুই ঘণ্টা, এবং সত্যিই সেটি ক্লিক করে যাওয়ার শৃঙ্খলা।
ধাপ ১: যেসব যাত্রা গুরুত্বপূর্ণ তা লিখে রাখুন
একটি যাত্রা হলো একটি শুরু-থেকে-শেষ কাজ যা একজন ব্যবহারকারী করতে আসে। বেশিরভাগ অ্যাপের তিন থেকে ছয়টি সত্যিই গুরুত্বপূর্ণ। একটি বুকিং অ্যাপের জন্য:
- সাইন আপ করুন এবং অ্যাকাউন্ট নিশ্চিত করুন
- একটি ক্লাস খুঁজুন এবং বুক করুন
- একটি বুকিং বাতিল করুন
- একটি ক্লাস পাসের জন্য পেমেন্ট করুন
- স্টাফ: আজকের বুকিংগুলো দেখুন
আপনি যদি ইউজার স্টোরি লিখে থাকেন, তাদের গ্রহণযোগ্যতার মানদণ্ড ইতোমধ্যে আপনার পরীক্ষার কেস। না লিখে থাকলে, প্রতিটি যাত্রার জন্য এক লাইন লিখুন যে "সফলতা" কেমন দেখায়।
এগুলো র্যাঙ্ক করুন। যেসব যাত্রা টাকা আনে বা প্রতিটি ব্যবহারকারী যেখানে পৌঁছায় (সাইন আপ, লগইন, মূল কাজ) সেগুলো সবার আগে ও সবচেয়ে বেশি পরীক্ষা হয়।
ধাপ ২: একজন নতুন ব্যবহারকারী হিসেবে হ্যাপি পাথ পরীক্ষা করুন
"হ্যাপি পাথ" হলো যাত্রাটি ঠিক যেমন উদ্দেশ্য অনুযায়ী এগোচ্ছে। একজন অপরিচিত যেমন অভিজ্ঞতা পাবে তেমন করে পরীক্ষা করুন:
- একটি ব্যক্তিগত ব্রাউজার উইন্ডো ব্যবহার করুন, যাতে আপনি লগইন করা না থাকেন এবং কোনো সংরক্ষিত ডেটা না থাকে।
- একটি নতুন অ্যাকাউন্ট ব্যবহার করুন একটি আসল ইমেইল দিয়ে যা আপনি যাচাই করতে পারেন।
- হোম পেজ বা একটি লিংক থেকে শুরু করুন, অ্যাপ বানানোর সময় বুকমার্ক করা কোনো পেজ থেকে নয়।
নতুন ব্যবহারকারীদের কোনো ডেটা থাকে না। অনেক বাগ তখনই দেখা যায় যখন একটি তালিকা খালি থাকে, একটি প্রোফাইলে ছবি থাকে না, বা এখনো কিছু কেনা হয়নি। আপনার নিজের অ্যাকাউন্ট, যা পরীক্ষার ডেটায় ভরা, সেগুলো লুকিয়ে রাখে।
ধাপ ৩: এটি ভাঙার চেষ্টা করুন
এখন প্রতিটি যাত্রা পুনরাবৃত্তি করুন এবং ইচ্ছাকৃতভাবে ভুল কাজ করুন।
| এটি চেষ্টা করুন | আপনি যা যাচাই করছেন |
|---|---|
| ফর্ম খালি বা শুধু স্পেস দিয়ে জমা দিন | আবশ্যক ঘরগুলো স্পষ্ট বার্তাসহ বাধ্যতামূলক |
| খুব দীর্ঘ লেখা, ইমোজি, উচ্চারণচিহ্নযুক্ত নাম | লেআউট ঠিক থাকে, ডেটা সঠিকভাবে সংরক্ষিত হয় |
| ভুল ফরম্যাট: ফোন ঘরে অক্ষর, অতীতের একটি তারিখ | পেজ ও সার্ভার উভয়েই যাচাই |
| সাবমিট বোতামে ডাবল-ক্লিক | কোনো ডুপ্লিকেট অর্ডার বা বুকিং নেই |
| মাঝপথে ব্রাউজারের ব্যাক বাটন | কোনো ভাঙা অবস্থা বা হারানো ডেটা নেই |
| প্রতিটি পেজে রিফ্রেশ | ডেটা থেকে যায়; কোনো ফাঁকা পেজ বা 404 নেই |
| লগ আউট করুন, তারপর ব্যাক চাপুন | ব্যক্তিগত পেজ দেখা যায় না |
| একই জিনিস সম্পাদনা করে এমন দুটি ট্যাব | শেষ সংরক্ষণ নীরবে প্রথমটি মুছে দেয় না |
রিফ্রেশ আলাদা করে উল্লেখ করার মতো: আপনি ক্লিক করে যাওয়ার সময় অ্যাপ কাজ করলেও গভীর পেজে রিফ্রেশে যদি 404 দেখায়, তবে ডিপ্লয়ের পরে 404 ত্রুটি কিভাবে ঠিক করবেন দেখুন।
ধাপ ৪: দুটি অ্যাকাউন্ট দিয়ে অনুমতি পরীক্ষা করুন
অ্যাকাউন্ট আছে এমন যেকোনো অ্যাপের জন্য এটি সবচেয়ে গুরুত্বপূর্ণ পরীক্ষা, এবং সবচেয়ে প্রায়ই বাদ পড়ে।
দুজন সাধারণ ব্যবহারকারী, A এবং B, এবং (যদি আপনার অ্যাপে থাকে) একজন অ্যাডমিন তৈরি করুন।
- A হিসেবে, একটি রেকর্ড তৈরি করুন। B হিসেবে লগইন করুন। B কি এটি দেখতে, সম্পাদনা বা মুছতে পারে? নকশা অন্যরকম না হলে পারা উচিত নয়।
- A হিসেবে, আপনার একটি রেকর্ডের URL কপি করুন। B হিসেবে লগইন করে সরাসরি সেই URL খুলুন।
- একজন সাধারণ ব্যবহারকারী হিসেবে URL টাইপ করে অ্যাডমিন পেজ খোলার চেষ্টা করুন।
- সম্পূর্ণ লগ আউট করে একই URL গুলো চেষ্টা করুন।
এখানে কোনো সমস্যা পেলে ঠিক না হওয়া পর্যন্ত লঞ্চ করবেন না। যাচাইটি সার্ভারে হতে হবে, শুধু একটি বোতাম লুকিয়ে নয়। আমাদের AI দিয়ে বানানো অ্যাপের নিরাপত্তা চেকলিস্ট আরও গভীরে যায়।
ধাপ ৫: আসল ডিভাইসে পরীক্ষা করুন
সরু একটি ব্রাউজার উইন্ডো নয়, একটি আসল ফোনে অ্যাপটি খুলুন।
- জুম না করে কি প্রতিটি বোতামে ট্যাপ করা যায়?
- কীবোর্ড কি যে ঘরে টাইপ করছেন সেটি ঢেকে দেয়?
- টেবিল ও চওড়া কনটেন্ট কি স্ক্রল বা র্যাপ হয়, নাকি পেজকে পাশে ঠেলে দেয়?
- চিমটি না কেটে কি লেখা পড়া যায়?
সম্ভব হলে অন্তত একটি iPhone (Safari) এবং একটি Android ফোনে (Chrome) পরীক্ষা করুন। বিশেষ করে Safari-র তারিখ, ভিডিও ও স্থির-অবস্থান উপাদান নিয়ে নিজস্ব কিছু অদ্ভুত আচরণ আছে।
ধাপ ৬: টাকা ও ইমেইল শুরু থেকে শেষ পর্যন্ত পরীক্ষা করুন
কার্ডে চার্জ করে বা ইমেইল পাঠায় এমন যেকোনো কিছুর সম্পূর্ণ একটি রান-থ্রু দরকার।
পেমেন্ট। আপনার পেমেন্ট প্রদানকারীর টেস্ট মোড এবং টেস্ট কার্ড নম্বর ব্যবহার করুন। একটি সফল পেমেন্ট, একটি প্রত্যাখ্যাত কার্ড, এবং একটি বাতিল চেকআউট যাচাই করুন। নিশ্চিত করুন যে পেমেন্টের পরে অর্ডার বা সাবস্ক্রিপশন শুধু প্রদানকারীর ড্যাশবোর্ডে নয়, আপনার অ্যাপেও দেখা যাচ্ছে। আপনার অ্যাপ যদি ওয়েবহুকের (পেমেন্ট প্রদানকারী আপনার সার্ভারে যে বার্তা পাঠায়) ওপর নির্ভর করে, তবে সেগুলো ডেভেলপমেন্টে নয়, প্রকাশিত অ্যাপে পৌঁছাচ্ছে কিনা দেখুন। তারপর লঞ্চের আগে লাইভ কী-তে বদলান এবং একটি ছোট আসল ক্রয় করুন যা আপনি রিফান্ড করবেন।
ইমেইল। দুই বা তিনটি ভিন্ন প্রদানকারীতে আসল ঠিকানা দিয়ে সাইন আপ করুন। যাচাই করুন ইমেইল পৌঁছায়, স্প্যামে যায় না, এবং তাতে থাকা প্রতিটি লিংক প্রিভিউ ঠিকানার বদলে লাইভ ডোমেইনের দিকে নির্দেশ করে।
ধাপ ৭: গতি ও ত্রুটি পরীক্ষা করুন
- ব্রাউজারের ডেভেলপার টুলস খুলুন (ডান-ক্লিক → Inspect) এবং প্রতিটি মূল পেজে Console ট্যাব দেখুন। লাল ত্রুটিগুলো ঠিক করার যোগ্য, এমনকি কিছু ভাঙা মনে না হলেও।
- Wi-Fi-র বদলে মোবাইল ডেটায় ফোনে সাইট লোড করুন। প্রথম স্ক্রিন কয়েক সেকেন্ড নিলে আগে ছবির আকার দেখুন।
- পারফরম্যান্স ও অ্যাক্সেসযোগ্যতার দ্রুত ধারণার জন্য Chrome-এর ডেভ টুলসে Lighthouse-এর মতো একটি বিনামূল্যের অডিট চালান।
ধাপ ৮: শুধু প্রিভিউ নয়, প্রকাশিত অ্যাপও পরীক্ষা করুন
প্রিভিউ ও প্রকাশিত অ্যাপ একই পরিবেশ নয়। লঞ্চের কথা কাউকে জানানোর আগে, লাইভ URL-এ মূল যাত্রাগুলো আবার চালান:
- প্রকাশিত অ্যাপের জন্য কি সব এনভায়রনমেন্ট ভেরিয়েবল ও সিক্রেট সেট করা আছে?
- এটি কি সঠিক ডেটাবেস ব্যবহার করছে, আপনি যে ডেটা আশা করেন সেটিসহ?
- লগইন রিডাইরেক্ট ও ইমেইলের লিংক কি লাইভ ডোমেইন ব্যবহার করে?
- গভীর পেজে রিফ্রেশ কি সঠিকভাবে লোড হয়?
ধাপ ৯: অন্য কাউকে ব্যবহার করতে দেখুন
এক বা দুজন মানুষকে একটি লক্ষ্য দিন ("শনিবারের জন্য একটি যোগা ক্লাস বুক করুন"), নির্দেশনা নয়। দেখুন, সাহায্য করবেন না, এবং লিখে রাখুন তারা কোথায় থমকে যান। এটি অস্পষ্ট শব্দচয়ন ও লুকানো বোতাম খুঁজে পাওয়ার দ্রুততম উপায়। এর একটি বড় সংস্করণের জন্য দেখুন কিভাবে একটি বিটা টেস্ট চালাবেন।
তারা কোনো বাগে পড়লে সেটি সঠিকভাবে লিখে রাখুন, ধাপসহ, প্রত্যাশিত ফল ও প্রকৃত ফল। একটি ভালো বাগ রিপোর্ট লেখা-এর গাইড ফর্ম্যাট দেখায়।
পরীক্ষায় সাহায্যের জন্য AI ব্যবহার
আপনি AI দিয়ে বানালে, পরীক্ষা পরিকল্পনা ও চালাতে এটিকে সাহায্য করতে বলতে পারেন:
এই অ্যাপের মূল ব্যবহারকারী যাত্রাগুলো তালিকাবদ্ধ করুন এবং প্রতিটির জন্য সবচেয়ে ভাঙার সম্ভাবনাময় প্রান্তিক ক্ষেত্রগুলো দিন: খালি অবস্থা, অবৈধ ইনপুট, অনুমতি, ও রিফ্রেশ। আমি যেন কাজ করতে পারি এমন একটি চেকলিস্টে রাখুন।
দুজন ভিন্ন পরীক্ষা ব্যবহারকারী হিসেবে লগইন করুন এবং যাচাই করুন ব্যবহারকারী B কি A-এর তৈরি কিছু দেখতে বা বদলাতে পারে, A-এর রেকর্ডের URL সরাসরি খুলে দেখাসহ। কোনো কিছু ঠিক করার আগে যা পান তার রিপোর্ট দিন।
AI-এর নিজস্ব পরীক্ষা রিপোর্টকে প্রথম পাস হিসেবে দেখুন। টাকা ও অনুমতির যাত্রাগুলো নিজে ক্লিক করে যান।
Mythex-এ পরীক্ষা
Mythex-এ /test কমান্ড App Testing চালায়: এজেন্ট আপনার লাইভ প্রিভিউয়ে একটি ব্রাউজার চালিয়ে পেজগুলোতে ক্লিক করে, স্ক্রিনশট নেয় এবং চ্যাটে ভাঙা ফ্লোর রিপোর্ট দেয়। একটি নির্দিষ্ট যাত্রার সঙ্গে এটি সবচেয়ে ভালো কাজ করে, যেমন "সাইন আপ ও একটি ক্লাস বুক করা পরীক্ষা করো"। যা ধরা পড়ে তা /fix বা একটি সাধারণ বার্তা দিয়ে ঠিক করুন, তারপর আবার /test চালান। App Testing প্রিভিউ ব্যবহার করে, তাই প্রকাশের পরে প্রকাশিত URL-এ মূল যাত্রাগুলো নিজে যাচাই করুন। ডক্সে App Testing দেখুন, এবং কিছু ব্যর্থ হলে AI দিয়ে বানানো অ্যাপ ডিবাগ করার গাইড দেখুন।
সাধারণ ভুল
- শুধু নিজের হিসেবে পরীক্ষা করা। প্রচুর ডেটাসহ আপনার অ্যাডমিন অ্যাকাউন্ট খালি-অবস্থা ও অনুমতির বাগ লুকায়।
- শুধু ল্যাপটপে পরীক্ষা করা। অনেক সাইটের বেশিরভাগ দর্শক ফোন থেকে আসে।
- দ্বিতীয় অ্যাকাউন্ট বাদ দেওয়া। ব্যবহারকারীদের মধ্যে ডেটা ফাঁস হওয়া একটি অ্যাপের লঞ্চ করার সবচেয়ে গুরুতর বাগ।
- প্রিভিউয়ের ওপর ভরসা করা। লাইভ অ্যাপের সেটিংস ভিন্ন; সেটিও পরীক্ষা করুন।
- কাছাকাছি অংশ আবার পরীক্ষা না করে বাগ ঠিক করা। একটি ফর্মের সংশোধন কোড শেয়ার করা অন্য একটিকে ভাঙতে পারে।
প্রি-লঞ্চ চেকলিস্ট
- মূল যাত্রাগুলো তালিকাবদ্ধ ও র্যাঙ্ক করা
- প্রতিটি যাত্রা একটি ব্যক্তিগত উইন্ডোতে একেবারে নতুন ব্যবহারকারী হিসেবে পাস করে
- খালি, অবৈধ, দীর্ঘ ও ডুপ্লিকেট ইনপুট সামলানো হয়
- প্রতিটি পেজে রিফ্রেশ কাজ করে
- ব্যবহারকারীরা একে অন্যের ডেটা দেখতে বা বদলাতে পারে না, URL দিয়েও না
- সাধারণ ব্যবহারকারী ও লগ-আউট দর্শকদের জন্য অ্যাডমিন পেজ বন্ধ
- একটি আসল iPhone ও Android ফোনে কাজ করে
- পেমেন্ট পরীক্ষিত: সফল, প্রত্যাখ্যান, বাতিল, এবং পরে অ্যাপ আপডেট হয়
- ইমেইল পৌঁছায়, স্প্যাম এড়ায়, এবং লাইভ ডোমেইনে লিংক করে
- মূল পেজে কনসোলে কোনো লাল ত্রুটি নেই
- প্রকাশিত URL-এ মূল যাত্রাগুলো পুনরাবৃত্তি করা হয়েছে
- অন্তত একজন বাইরের মানুষ আপনি দেখতে থাকা অবস্থায় এটি চেষ্টা করেছেন
প্রশ্নোত্তর
লঞ্চের আগে একটি ছোট অ্যাপের কতটা পরীক্ষা দরকার?
এতটা যাতে আপনি নিশ্চিত হতে পারেন যে একজন একেবারে নতুন ব্যবহারকারী ফোন ও ল্যাপটপে মূল যাত্রাগুলো সম্পন্ন করতে পারে, ব্যবহারকারীরা একে অন্যের তথ্য দেখতে পারে না, এবং টাকার সঙ্গে জড়িত যেকোনো কিছু শুরু থেকে শেষ পর্যন্ত কাজ করে। বেশিরভাগ ছোট অ্যাপের জন্য এটি কয়েক সপ্তাহ নয়, কয়েক ঘণ্টার মনোযোগী কাজ।
একটি MVP-র জন্য কি স্বয়ংক্রিয় পরীক্ষা লাগে?
অগত্যা নয়। মূল যাত্রাগুলোর ম্যানুয়াল পরীক্ষা বেশিরভাগ লঞ্চ-বাধা বাগ ধরে ফেলে। আপনি যখন অ্যাপ ঘন ঘন বদলান এবং দ্রুত জানতে চান যে আগে যা কাজ করত তা ভাঙেনি, তখন স্বয়ংক্রিয় পরীক্ষা লাভজনক হতে শুরু করে।
প্রিভিউতে পরীক্ষা করব নাকি লাইভ অ্যাপে?
দুটোতেই। প্রিভিউতে ভালোভাবে পরীক্ষা করুন, তারপর প্রকাশিত অ্যাপে মূল যাত্রাগুলো আবার চালান, কারণ এনভায়রনমেন্ট ভেরিয়েবল না থাকা, ভিন্ন ডেটাবেস বা রাউটিং সেটিংস লাইভ সংস্করণকে আলাদাভাবে আচরণ করাতে পারে।
আমি ছাড়া আমার অ্যাপ আর কে পরীক্ষা করবে?
অন্তত একজন যিনি কখনো এটি দেখেননি। তাঁকে নির্দেশনা নয়, একটি লক্ষ্য দিন, এবং সাহায্য না করে দেখুন। নির্মাতারা অজান্তেই সেই পথগুলো এড়িয়ে যান যেগুলো ভেঙে পড়ে।