বিশাল সফ্টওয়্যার কোম্পানিগুলি, যেমন গুগল, তাদের সফ্টওয়্যারে কম অগ্রাধিকারের বাগগুলির পাশাপাশি সফল হয়, কিন্তু ছোট কোম্পানি এবং প্রারম্ভে এই বিলাসিতা নেই
গ্রাহকরা পণ্যগুলি বিক্রয় পৃষ্ঠাতে, ডকুমেন্টেশনগুলিতে দাবি করে কি তা আশা করেন। সেখানে অনেক অপশন আছে, পণ্য তারা তাদের সময় এবং অর্থ অপচয় করে যদি জাহাজ জাম্পিং সম্পর্কে দুবার চিন্তা করবে না। অতএব, সফ্টওয়্যারটি মুক্তির আগে কঠোর পরীক্ষার সম্মুখীন হয়:
মূল ধারণা এবং চূড়ান্ত আউটপুট মধ্যে পার্থক্য হাইলাইট
সফ্টওয়্যারটি যাচাই করে নিন যে ডিজাইনাররা পরিকল্পনা করেছেন
শেষ পণ্য বৈধ - পণ্য গ্রাহক প্রয়োজনীয়তা পূরণ করতে হবে
বৈশিষ্ট্য এবং মানের মূল্যায়ন
পরীক্ষা একটি কঠোর ব্লুগ্রিন্ট অনুসরণ করে। এই মূল্যবান সম্পদ ব্যবহার উপযোগী - দক্ষতা, সময়, এবং অর্থ, পণ্য এগিয়ে নিতে প্রয়োজনীয় তথ্য সহ স্টেকহোল্ডার প্রদান করার সময়। একটি শক্তিশালী মান নিশ্চিতকরণ প্রোগ্রামের মাধ্যমে একটি ভাল শেষ ব্যবহারকারীর অভিজ্ঞতা সহজতর করার লক্ষ্য হল। স্ট্যাকগুলি এত বেশি হলে, QA ব্যবস্থাপকরা কারিগরি উচ্চ অর্জনকারীর কিছু। সাধারনত এই ধাপ অনুসরণ করে:
প্রয়োজনীয় বিশ্লেষণ যেখানে ম্যানেজাররা একটি উপযুক্ত পরীক্ষা কৌশল স্থাপন করার পরিকল্পনাটি রূপরেখা প্রদান করে।
টেস্ট শুরু এবং ফলাফল পরিদর্শন বিশ্লেষণ।
কোন ত্রুটি সংশোধন করা হয়, এবং সফ্টওয়্যার রিগ্রেশন পরীক্ষার মাধ্যমে যায় - প্রোগ্রাম পরীক্ষা করার জন্য একটি সিস্টেম এখনও পরিবর্তন পরে কাজ করে।
একটি পরীক্ষা বন্ধ রিপোর্ট তারপর পুরো প্রক্রিয়া এবং ফলাফল বিবরণ।
সফ্টওয়্যার পরীক্ষা পদ্ধতি
এখানে পণ্য আচরণ এবং কর্মক্ষমতা বিচারের জন্য ব্যবহৃত বিভিন্ন পদ্ধতি।
কালো বাক্স এবং সাদা বাক্স পরীক্ষা দুটি মৌলিক পদ্ধতি।
- ব্ল্যাক বক্স টেস্টিং - ফাংশনাল বা স্পেসিফিকেশন-ভিত্তিক টেস্টিং নামেও পরিচিত, এই পদ্ধতিটি আউটপুট উপর দৃষ্টি নিবদ্ধ করে। পরীক্ষক অভ্যন্তরীণ পদ্ধতির সাথে সংশ্লিষ্ট নয়। তারা শুধু সফ্টওয়্যারটি পরীক্ষা করে দেখেছে যা এর জন্য অনুমিত হয়। কোডিং এর জ্ঞান অপরিহার্য নয়, এবং ব্যবহারকারীদের ইন্টারফেস স্তরে পরীক্ষকেরা কাজ করে।
- হোয়াইট বক্স টেস্টিং - এই পদ্ধতি পরীক্ষার পদ্ধতির অংশ হিসাবে কিভাবে জানেন কোডিং ব্যবহার করে। যখন কোনও পণ্য ব্যর্থ হয়, পরীক্ষার কারণটি খুঁজে পেতে প্রয়োজনীয় কোড হিসাবে গভীর হয়। সফ্টওয়্যার ডেভেলপাররা এটি করে নিজেদের কাজ করে, কারন তারা কীভাবে পণ্যটি কাজ করে তা নির্ধারণ করে। গঠন-ভিত্তিক এবং কাচের বাক্স পরীক্ষা এই পদ্ধতির জন্য অন্যান্য নাম।
- স্ট্যাটিক টেস্টিং - পরীক্ষকরা সফ্টওয়্যারের কোড এবং ডকুমেন্টেশন পরীক্ষা করে প্রোগ্রামটি চালায় না। যাচাইকরণ প্রক্রিয়ার সময় পণ্যগুলির উন্নয়নে স্ট্যাটিক পরীক্ষার শুরু হয়।
- ডায়নামিক টেস্টিং - সফ্টওয়্যারটি বিভিন্ন ইনপুট দিয়ে চালানো হয় এবং পরীক্ষকগণ এই পদ্ধতির সাথে প্রত্যাশিত আচরণের সঙ্গে তুলনা করে আউটপুট তুলনা করে।
- GUI পরীক্ষার - এই পরীক্ষার GUI বৈশিষ্ট্য - পাঠ্য বিন্যাস, টেক্সট বক্স, বোতাম, তালিকা, লেআউট, রং, ফন্ট, ফন্ট মাপ, ইত্যাদি। জিওআই পরীক্ষার সময় ব্যয় করা হয়, এবং তৃতীয় পক্ষের দলগুলি প্রায়ই ডেভেলপারদের পরিবর্তে টাস্কটি পরিচালনা করে।
টেস্ট লেভেল
সফটওয়্যার ডেভেলপমেন্ট লাইফ চক্রের প্রতিটি পর্যায়ে দুর্বলতা এবং ওভারলেপ চিহ্নিত করতে এটি প্রয়োজনীয়।
- ইউনিট পরীক্ষার - বিকাশকারীরা ক্লাসের সবচেয়ে মৌলিক অংশগুলি পরীক্ষা করে, যেমন ক্লাস, ইন্টারফেস এবং ফাংশন / পদ্ধতি। তারা জানেন কিভাবে তাদের কোড প্রতিক্রিয়া উচিত এবং আউটপুট উপর নির্ভর করে সমন্বয় করতে পারেন।
- কম্পোনেন্ট টেস্টিং - অন্য নাম মডিউল বা প্রোগ্রাম টেস্টিং। এটা ইউনিট পরীক্ষার অনুরূপ কিন্তু ইন্টিগ্রেশন একটি উচ্চ স্তরের রয়েছে। সফটওয়্যারের মডিউলগুলি তাদের ব্যক্তিগত ফাংশন যাচাই করার জন্য ত্রুটিগুলি পরীক্ষা করে।
- ইন্টিগ্রেশন পরীক্ষার - এই মডিউল একত্রিত হলে ত্রুটি চিহ্নিত করে। বিভিন্ন ইন্টিগ্রেশন পরীক্ষা নীচে, উপরে নিচে, এবং ক্রিয়ামূলক ক্রমবর্ধমান হয়।
- সিস্টেম পরীক্ষার - এই পদ্ধতির সাথে বিভিন্ন পরিবেশে সম্পূর্ণরূপে একটি প্রকল্পের উপাদান পরীক্ষা করা হয়। এটি কালো বাক্স পদ্ধতির অধীন পতিত হয় এবং এটি প্রক্রিয়াতে চূড়ান্ত পরীক্ষাগুলির মধ্যে একটি। এটি নির্ধারণ করে যে সিস্টেমটি ব্যবসায়িক এবং ব্যবহারকারীর চাহিদা মেটাতে যতটা কাজ করে।
- আলফা টেস্টিং - অভ্যন্তরীণ স্টাফ একজন বিকাশকারীর সাইটের একটি সিমুলেটেড বা প্রকৃত পরিবেশে সফ্টওয়্যার পরীক্ষা করে। তারপরে, ডেভেলপারগণ ত্রুটিগুলি এবং অন্যান্য সমস্যাগুলিকে সংশোধন করে।
- বিটা টেস্টিং - পাশাপাশি ক্ষেত্রের পরীক্ষা হিসাবে পরিচিত, ক্লায়েন্ট তাদের নিজস্ব সাইটে বাস্তব অবস্থানে পণ্য পরীক্ষা করে। ক্লায়েন্ট প্রি -ইলেইজ বা বিটা সংস্করণের মাধ্যমে সফ্টওয়্যার পরীক্ষা করার জন্য শেষ ব্যবহারকারীদের একটি গ্রুপ অফার করতে পারে। সম্ভাব্য উন্নতির প্রতিক্রিয়া তারপর বিকাশকারী পাঠানো হয়।
- গ্রহণের পরীক্ষা - কালো বাক্স পরীক্ষার সুযোগের অধীনে, ক্লায়েন্ট পরীক্ষার সফ্টওয়্যার পরীক্ষা করে যদি বিকাশকারী পছন্দসই বৈশিষ্ট্যের জন্য প্রোগ্রাম তৈরি করেছে।
টেস্ট টাইপ
এই সফ্টওয়্যার পরীক্ষা নির্দিষ্ট উদ্দেশ্য উপর ফোকাস।
- ইনস্টলেশন পরীক্ষা - সফ্টওয়্যার পরীক্ষা প্রকৌশলী এবং কনফিগারেশন ম্যানেজার এই পরীক্ষাটি পরিচালনা করে যাতে ব্যবহারকারীরা প্রোগ্রামটি ইনস্টল এবং চালাতে পারে। এটি ইনস্টলেশনের ফাইল, ইনস্টলেশন স্থানের এবং প্রশাসকীয় অধিকারগুলির মতো ক্ষেত্রগুলি জুড়েছে।
- ডেভেলপমেন্ট টেস্টিং - এটি ডিস্কগুলি সনাক্ত এবং প্রতিরোধ করার জন্য সিঙ্ক্রোনাইজ কৌশলগুলির একটি পরিসীমা প্রয়োগ করে। এটি স্ট্যাটিক কোড বিশ্লেষণ, পিয়ার কোড রিভিউ, ট্রেসবিলিটি এবং ম্যাট্রিক্স বিশ্লেষণ অন্তর্ভুক্ত করে। লক্ষ্য ঝুঁকি কমাতে এবং খরচ সংরক্ষণ করা হয়।
- ব্যবহারযোগ্যতা টেস্টিং - ব্যবহারকারীর পরীক্ষা এই পরীক্ষা দিয়ে স্পটলাইট অধীনে আসে এটা কিভাবে GUI ডিজাইন করা হয় এবং তার ব্যবহার সহজে পরিমাপ করে। পরীক্ষার সঠিকতা এবং কার্যকারিতা দক্ষতা এবং পরীক্ষার বিষয়গুলির মানসিক প্রতিক্রিয়া পরীক্ষা করে।
- স্যানিটি টেস্টিং - এটি ইঙ্গিত দেয় যে সফ্টওয়্যারটি আরও পরীক্ষা চালিয়ে যাওয়ার সময় এবং খরচ মূল্যবান। অনেক ত্রুটি এবং আরো আক্রমনাত্মক পরীক্ষা অনুসরণ না।
- স্মোক টেস্টিং - স্মোক টেস্টিং মৌলিক ব্যর্থতা প্রকাশ করে যা মুক্তি পাওয়ার জন্য যথেষ্ট গুরুতর। যখন এটি একটি নতুন বিল্ড উপর বাহিত হয়, এটি একটি বিল্ড যাচাইকরণ পরীক্ষা বলা হয়।
- রিগ্রেশন পরীক্ষণ - যখন সিস্টেমের সংশোধন করা হয়, রিগ্রেশন টেস্টিং অপ্রত্যাশিত আচরণ পর্যবেক্ষণ করে। এটি মডিউল বা উপাদানগুলির প্রতিকূল প্রভাবগুলি নির্দেশ করে।
- ধ্বংসাত্মক পরীক্ষার - পরীক্ষকদের ইনপুট অস্বাভাবিক এন্ট্রি এবং অপ্রত্যাশিত ইনপুট পরিচালনা করার সফ্টওয়্যারের ক্ষমতা বিবেচনা করে। এই ডেভেলপারদের দেখায় ত্রুটি ব্যবস্থাপনার প্রোগ্রামটি কতটা শক্তিশালী।
- পুনরুদ্ধারের পরীক্ষার - যখন হার্ডওয়্যার বা অন্য ফাংশনগুলি ব্যর্থ হয়, এই পরীক্ষাটি দেখায় যে সফ্টওয়্যার কতটা সঠিকভাবে কাজ করে এবং ক্রমাগত অপারেশন চালিয়ে যেতে পারে।
- অটোমেটেড টেস্টিং - এটি কার্যকরীভাবে ম্যানুয়ালি বাস্তবায়ন করা কঠিন করে তোলে। এটা পরীক্ষা চালানোর জন্য নির্দিষ্ট সফ্টওয়্যার ব্যবহার করে এবং প্রকৃত বনাম প্রত্যাশিত ফলাফল ডেটা প্রদান।
- সামঞ্জস্য পরীক্ষা - সফ্টওয়্যার বিভিন্ন কম্পিউটিং পরিবেশে চালানো আবশ্যক, তাই এটি বিভিন্ন সিস্টেমের সাথে সামঞ্জস্য পরীক্ষা করে। উদাহরণস্বরূপ, সফ্টওয়্যার বিভিন্ন অপারেটিং সিস্টেম এবং ওয়েব ব্রাউজারের সাথে কাজ করে?
- পারফরমেন্স পরীক্ষা - এটি একটি গভীর পরীক্ষা যা বিভিন্ন পরিস্থিতিতে সফ্টওয়্যার কর্মক্ষমতা পরীক্ষা করে। প্রতিক্রিয়া, স্থিতিশীলতা, সম্পদ বরাদ্দকরণ এবং গতি সম্পর্কে তথ্য সংগ্রহ করা হয়। উপরন্তু, ভলিউম, ক্ষমতা এবং গজাল পরীক্ষার মতো উপ পরীক্ষাগুলি এই প্রক্রিয়ার অংশ।
- সিকিউরিটি টেস্টিং - এই সফটওয়্যার ব্যবহারকারীদের নিরাপত্তা রক্ষা করার ক্ষমতাটি মাপছে। এর অর্থ হচ্ছে অনুমোদন ফাংশন, প্রমাণীকরণ, গোপনীয়তা, সততা, প্রাপ্যতা, এবং অস্বীকৃতি।
- অ্যাক্সেসিবিলিটি টেস্টিং - এটি ব্যবহারযোগ্যতা পরীক্ষা হিসাবে একই নয়। এটি কতটুকু পার্থক্যযুক্ত ক্ষমতার ব্যবহারকারীদের - লার্নিং এবং শারীরিক প্রতিবন্ধকতাগুলি অন্তর্ভুক্ত করে তা সফটওয়্যার ব্যবহার করতে পারে।
- আন্তর্জাতিকীকরণ এবং স্থানীয়করণের পরীক্ষা - ফলাফল দেখায় যে কিভাবে সফ্টওয়্যারগুলি বিভিন্ন ভাষা এবং আঞ্চলিক চাহিদাগুলির সাথে মানিয়ে নিতে পারে। এটি নির্দিষ্ট অবস্থার জন্য উপাদান এবং অনুবাদ টেক্সট অন্তর্ভুক্ত।
সফ্টওয়্যার টেস্টিং বাজারে একটি পণ্য আনয়ন একটি অপরিহার্য অংশ। এবং পরীক্ষক ছাড়া, উপলব্ধ সফ্টওয়্যার সুবিশাল পরিসীমা অস্তিত্ব না। বিসিএস, চার্টার্ড ইনস্টিটিউট ফর আইটি, আইএসটিবিবি® (ইন্টারন্যাশনাল সফটওয়্যার টেস্টিং কোয়ালিফিকেশন বোর্ড) এবং এসকিউ (পূর্বে আমেরিকান সোসাইটি ফর কোয়ালিটি) এর মাধ্যমে প্রতিষ্ঠানগুলির মাধ্যমে একটি প্রত্যয়িত সফ্টওয়্যার পরীক্ষক হোন।