Software Testing guideline for non CS background
Published: 2024-02-27 06:31:19

Software Testing guideline for non CS background

সফটওয়্যার টেস্টিং সম্পর্কে পরিচিতি:
সফটওয়্যার টেস্টিং হলো একটি গুরুত্বপূর্ণ পদক্ষেপ যা সফটওয়্যার প্রোডাক্টের গুণগত স্থিতি এবং কার্যকরতা নিরীক্ষণ এবং যাচাই করে। এটি সফটওয়্যার উন্নতির জন্য অত্যন্ত গুরুত্বপূর্ণ একটি পদক্ষেপ যা ব্যবহারকারীদের কৌশলের নিরাপত্তা ও সফটওয়্যারের দায়িত্ব নিশ্চিত করে।
একটি বাসার নির্মাণের উদাহরণ চিন্তা করা যায়। ধরুন আপনি একটি নতুন বাসা কিনেছেন এবং বাসা নির্মাণের শুরুতে বিভিন্ন নির্দিষ্ট পদক্ষেপের মাধ্যমে তা পরীক্ষা করতে চান। প্রথমে, ভাবুন আপনি নির্মাণকাজ শুরু করেন। এখানে প্রথম ধাপ হলো নির্মাণকাজের স্থানের সঠিকতা যাচাই করা, যেটি একটি বাসা নির্মাণের প্রধান ধাপ। পরবর্তীতে, নির্মাণকাজ শুরু হলে, সেখানে মূল্যবান পদক্ষেপ হলো প্রতিটি ধাপের উপর পরিমাপ এবং নির্দিষ্ট কাজের সঠিক কার্যকরতা। উদাহরণস্বরূপ, দেওয়াল নির্মাণের জন্য সঠিক উপাদান ব্যবহার করা এবং সঠিক পরিমাপের সাথে তা নির্মাণ করা হয়েছে কিনা এমন। এই পদক্ষেপগুলির সমন্বয়ে, আপনি একটি সুরক্ষিত এবং কার্যকরী বাসা পেতেন।
এই উদাহরণটির মাধ্যমে, আপনি সফটওয়্যার টেস্টিং কীভাবে একটি সফটওয়্যার প্রোডাক্টের গুণগত স্থিতি এবং কার্যকরতা যাচাই করে তা বোঝতে পারেন। যেহেতু এটি একটি পরিপ্রেক্ষিত প্রক্রিয়া, আপনি আপনার প্রোডাক্ট পরীক্ষা করে তা বাড়তি নিরাপত্তা ও সন্তুষ্টিসহকারে ব্যবহারকারীদের কাছে প্রদর্শন করতে পারেন।
উদাহরণ: চিন্তা করা যাক ফেসবুক মোবাইল অ্যাপের টেস্টিং এর একটি উদাহরণ।
ঘটনা: ব্যবহারকারী লগইন
টেস্ট কেস: যাচাই করুন যে ব্যবহারকারীরা ফেসবুক মোবাইল অ্যাপে সফলভাবে লগইন করতে পারেন।
পদক্ষেপসমূহ:
অ্যাপ চালু করুন: ডিভাইসে ফেসবুক মোবাইল অ্যাপ খুলুন।
শংকের তথ্য প্রদান করুন: সঠিক ব্যবহারকারীর নাম (ইমেইল বা ফোন নম্বর) এবং পাসওয়ার্ড প্রদান করুন।
লগইন বোতামে ট্যাপ করুন: "লগইন" বোতামে ট্যাপ করুন।
সফল লগইন যাচাই করুন:

যাচাই করুন যে লগইনের পরে ব্যবহারকারীকে হোম স্ক্রিন/ড্যাশবোর্ডে পুনর্নির্দেশ করা হয়।
যাচাই করুন যে ব্যবহারকারীর প্রোফাইল ছবি বা নাম লগইনের পরে ড্যাশবোর্ডে প্রদর্শিত হয়, যা সফল লগইন প্রতিস্থাপন করে।

ত্রুটি বিষদ যাচাই করুন:

ভুল তথ্য প্রদান করার সময় অ্যাপের ব্যবহারকারীর আচরণ পরীক্ষা করুন।
ভুল তথ্য প্রদানের জন্য যেসব উপযুক্ত ত্রুটি বার্তা প্রদর্শিত হচ্ছে তা যাচাই করুন।
ভুল তথ্য প্রদানের পরে ব্যবহারকারী লগইন না থাকা নিশ্চিত করুন।

মনে রাখুন "আমাকে মনে রাখুন" অপশন:

"আমাকে মনে রাখুন" বা "লগইনে থাকুন" অপশন কার্যকর কি না সেটি পরীক্ষা করুন।
আবার অ্যাপটি বন্ধ করে পুনরায় খোললে ব্যবহারকারী লগইনে থাকে কি না তা যাচাই করুন (যদি প্রযোজ্য হয়)।

লগআউট কার্যক্রম পরীক্ষা করুন:

অ্যাপ থেকে লগআউট করুন।
লগআউট করার পরে লগইন স্ক্রিনে পুনরায় প্রেরিত করা হয় কিনা যাচাই করুন।
লগআউট করার পরে ব্যবহারকারীর সেশন শেষ হয়েছে এবং তাদেরকে আবার লগইন করতে বলা হচ্ছে তা নিশ্চিত করুন।

প্রত্যাশিত ফলাফলসমূহ:
ব্যবহারকারীরা বৈধ তথ্য প্রদান করে সফলভাবে লগইন করতে পারবেন।
ভুল তথ্য প্রদানের জন্য যথাযথ ত্রুটি বার্তা প্রদর্শিত হবে।
"আমাকে মনে রাখুন" অপশন ব্যবহারকারীর লগইন সেশনটি রক্ষা করবে।
লগআউট কার্যক্রম ব্যবহারকারীর সেশন শেষ করে তাদেরকে লগইন স্ক্রিনে পুনরায় প্রেরিত করবে।

উদাহরণ: মনে করা যাক টেস্টিং সময়ে, বৈধ তথ্য প্রবেশ করার পরে "লগইন" বোতামে ট্যাপ করার পরে, ব্যবহারকারীকে হোম স্ক্রিনের বদলে একটি ফাঁকা স্ক্রিনে পুনঃনির্দেশ করা হয়। এটি লগইন প্রক্রিয়ার সঙ্গে সম্পর্কিত একটি সমস্যা নিশ্চিত করে এবং মুক্তি প্রকাশের আগে এই সমস্যা নিষ্ক্রিয় করার জন্য অতিরিক্ত অনুসন্ধান এবং বাগ রিপোর্টিং প্রয়োজন।
এই উদাহরণে, আপনি দেখাচ্ছেন কীভাবে টেস্টাররা সিস্টেমের বিভিন্ন অংশে পরীক্ষা করে তা নিশ্চিত করে যে সফটওয়্যার ব্যবহারকারীদের জন্য সম্পূর্ণ অভিজ্ঞতা এবং সহজতা সরবরাহ করে।
Let's consider an example of testing the Facebook mobile app:
Scenario: User Login
Test Case: Verify that users can log in to the Facebook mobile app successfully.
Steps:
Launch App: Open the Facebook mobile app on the device.
Enter Credentials: Enter the valid username (email or phone number) and password in the respective fields.
Tap Login Button: Tap on the "Login" button.
Verify Successful Login:

Ensure that the user is redirected to the home screen/dashboard after successful login.
Verify that the user's profile picture or name is displayed on the dashboard, confirming a successful login.

Check Error Handling:

Test the app's behavior when invalid credentials are entered.
Verify that appropriate error messages are displayed for incorrect credentials.
Ensure that the user is not logged in with invalid credentials.

Check Remember Me Option:

Test the "Remember Me" or "Stay Logged In" option functionality.
Verify that the user remains logged in even after closing and reopening the app (if applicable).

Test Logout Functionality:

Logout from the app.
Verify that the user is redirected to the login screen after logging out.
Ensure that the user's session is terminated, and they are required to log in again.

Expected Results:
The user should be able to log in successfully with valid credentials.
Appropriate error messages should be displayed for invalid credentials.
The "Remember Me" option should retain the user's login session.
Logout functionality should terminate the user's session and redirect them to the login screen.

Example: Suppose during testing, after entering valid credentials and tapping the login button, the user is redirected to a blank screen instead of the home screen. This indicates a potential issue with the login process, and further investigation and bug reporting are required to address the issue before release.
This example demonstrates how testers can systematically test the Facebook mobile app's login functionality to ensure a smooth user experience.

একজন কম্পিউটার সায়েন্স ব্যাকগ্রাউন্ড ছাড়াও সফটওয়্যার ম্যানুয়াল টেস্টার হতে চাইলে আপনি নিম্নলিখিত ধাপগুলি অনুসরণ করতে পারেন:
সফটওয়্যার টেস্টিং সাধারণ ধারণা বুঝুন:

সফটওয়্যার টেস্টিংর মৌলিক ধারণা সম্পর্কে জানা শুরু করুন। এটি এমন বিভিন্ন ধরণের টেস্টিং (যেমনঃ ফাংশনাল টেস্টিং, রিগ্রেশন টেস্টিং, ইউজাবিলিটি টেস্টিং) এবং টেস্টিং পদ্ধতিগুলির (যেমনঃ ওয়াটারফল, এজাইল) সম্পর্কে জানা যেতে পারে।

সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেল (এসডিএলসি) সম্পর্কে জানুন:

সফটওয়্যার ডেভেলপমেন্ট প্রসেস এবং এর বিভিন্ন পর্যায়ের সম্পর্কে জ্ঞান অর্জন করুন, যেমনঃ প্রয়োজনীয়তা সংগ্রহ, ডিজাইন, ডেভেলপমেন্ট, টেস্টিং, এবং ডিপ্লয়মেন্ট। এসডিএলসি সম্পর্কে জানা আপনাকে আপনার টেস্টিং কর্মক্ষমতা প্রায়শই সাহায্য করবে।

বেসিক কম্পিউটার দক্ষতা অর্জন করুন:

যখন আপনার কম্পিউটার সায়েন্স ব্যাকগ্রাউন্ড নেই, তখনও বেসিক কম্পিউটার দক্ষতা অত্যন্ত গুরুত্বপূর্ণ। নিশ্চিত হউন যে আপনি কম্পিউটার ব্যবহার করতে, অপারেটিং সিস্টেম নেভিগেট করতে (উইন্ডোজ, লিনাক্স ইত্যাদি) এবং সাধারণ সফ্টওয়্যার অ্যাপ্লিকেশন ব্যবহার করতে সামর্থ্যশালী হয়েছেন।

টেস্টিং টুল এবং প্রযুক্তি সম্পর্কে জানুন:

প্রসিদ্ধ টেস্টিং টুল এবং প্রযুক্তি সম্পর্কে জ্ঞান অর্জন করুন যা উদাহরণস্বরূপ বাগ ট্র্যাকিং টুল (যেমনঃ জিরা, বাগজিলা), টেস্ট ম্যানেজমেন্ট টুল (যেমনঃ টেস্টরেল, জেফার) এবং সহযোগিতা প্ল্যাটফর্ম .

একটি ৩ মাসের কোর্স আউটলাইন নিম্নলিখিত হতে পারে:
মাস ১:
সফটওয়্যার টেস্টিং পরিচিতি:
সফটওয়্যার টেস্টিং এর মৌলিক ধারণা
টেস্টিং প্রক্রিয়াজাতকরণ এবং উপকারিতা
টেস্টিং প্রক্রিয়ার প্রধান পদ্ধতি (উদাহরণস্বরূপ: পার্সিং, ইন্টিগ্রেশন, রিগ্রেশন)

টেস্টিং টুলস এবং প্রযুক্তি:
বাগ ট্র্যাকিং টুল (উদাহরণস্বরূপ: জিরা)
টেস্ট ম্যানেজমেন্ট টুল (উদাহরণস্বরূপ: টেস্টরেল)
সহযোগিতা প্ল্যাটফর্ম (উদাহরণস্বরূপ: স্ল্যাক)

প্রাক্টিক্যাল এপ্লিকেশন:
ওয়েবসাইট টেস্টিং
মোবাইল অ্যাপ্লিকেশন টেস্টিং
বাগ রিপোর্ট তৈরি

মাস ২:
প্রফেশনাল টেস্টিং পদ্ধতি:
প্রফেশনাল টেস্টিং প্রক্রিয়া
প্রফেশনাল টেস্টিং সংশ্লিষ্ট নিয়ম
বাগ রিপোর্টিং এবং ট্র্যাকিং

অটোমেশন টেস্টিং পরিচিতি:
অটোমেশন টেস্টিং কি?
অটোমেশন টেস্টিং প্রসেস

অটোমেশন টুলস:
সেলেনিয়াম
এটিয়াস
পাইটেস্ট

মাস ৩:
এডভান্সড টেস্টিং পদ্ধতি:
ইন্টিগ্রেশন টেস্টিং
সিস্টেম টেস্টিং
পারফর্মেন্স টেস্টিং

স্পেশালাইজড টেস্টিং:
সিকিউরিটি টেস্টিং
ইউজাবিলিটি টেস্টিং
অ্যাক্সেসিবিলিটি টেস্টিং

প্রকল্প অনুশীলন:
প্রকল্পের টেস্টিং
বাগ ফিক্সিং এবং পরিমার্জন

উপরোক্ত অনুশীলন সাথে যুক্ত হতে পারে যেকোনো মূল্যবান প্রকল্পের অংশগুলির উপরে ভিত্তি করে।
এই কোর্সের প্রতিটি সেশন নিম্নলিখিত রকমের প্রশিক্ষণ এবং গাইডেলাইন প্রদান করা যেতে পারে:
ক্লাসরুম প্রশিক্ষণ
অনলাইন ভিডিও টিউটোরিয়াল
অনলাইন কোর্স মাধ্যমে প্রশিক্ষণ
প্রোজেক্ট ও কেস স্টাডি
রিয়েল

Month 1: Introduction to Software Testing:
Basic concepts of software testing
Testing process and benefits
Main testing methodologies (e.g., parsing, integration, regression)

Testing Tools and Technologies:
Bug tracking tools (e.g., Jira)
Test management tools (e.g., TestRail)
Collaboration platforms (e.g., Slack)

Practical Application:
Website testing
Mobile application testing
Bug reporting

Reference Links:
Introduction to Software Testing: YouTube - Software Testing Tutorials for Beginners
Testing Tools Tutorial: Bangla - সফটওয়্যার টেস্টিং টিউটোরিয়াল

Month 2: Professional Testing Methodologies:
Professional testing process
Relevant rules of professional testing
Bug reporting and tracking

Introduction to Automation Testing:
What is automation testing?
Automation testing process

Automation Tools:
Selenium
Appium
Pytest

Reference Links:
Professional Testing Methodologies: Indian - Software Testing Tutorial for Beginners
Automation Testing Tutorial: Bangla - অটোমেশন টেস্টিং টিউটোরিয়াল

Month 3: Advanced Testing Methodologies:
Integration testing
System testing
Performance testing

Specialized Testing:
Security testing
Usability testing
Accessibility testing

Project Implementation:
Testing in projects
Bug fixing and regression

Reference Links:
Advanced Testing Methodologies: Indian - Advanced Software Testing Tutorial
Specialized Testing Tutorial: Bangla - বিশেষজ্ঞ টেস্টিং টিউটোরিয়াল

Software Testing Outline: 
Module 1: Introduction to Software Testing

Understanding the basics of software testing
Importance of software testing in software development lifecycle (SDLC)
Different types of testing (e.g., functional testing, non-functional testing)
Overview of manual testing vs. automated testing
Module 2: Test Planning and Documentation

Test planning process
Creating test plans and test cases
Test case design techniques (e.g., equivalence partitioning, boundary value analysis)
Test data preparation and management
Module 3: Test Execution and Reporting

Test execution process
Techniques for executing test cases
Defect reporting and management
Regression testing and retesting
Module 4: Test Management Tools

Introduction to test management tools (e.g., TestRail, Zephyr)
Using test management tools for test planning, execution, and reporting
Integrating test management tools with bug tracking systems (e.g., Jira)
Module 5: Specialized Testing Techniques

Exploratory testing
Usability testing
Compatibility testing (e.g., cross-browser, cross-device)
Security testing basics
Module 6: Agile Testing Practices

Understanding Agile methodology
Agile testing principles and practices
Role of a tester in Agile teams
Agile testing tools and techniques
Module 7: Real-world Project Experience

Working on a real-world testing project
Test case creation, execution, and reporting
Collaborating with team members and stakeholders
Feedback and improvement process
Module 8: Test Closure and Documentation

Test closure activities
Generating test summary reports
Lessons learned and continuous improvement


These reference links provide additional resources for self-study and further understanding of the topics covered in the course outline. 
Please search with this text at Youtube.
সফটওয়্যার টেস্টিং প্রাথমিক বিষয়বস্তু | Software Testing Basic Level
Watch on YouTube
সফটওয়্যার টেস্টিং সম্পর্কে পরিচিতি | Introduction to Software Testing in Bangla
Watch on YouTube
সফটওয়্যার টেস্টিং টিউটোরিয়াল - বাংলা | Software Testing Tutorial Bangla
Watch on YouTube

সফটওয়্যার টেস্টিং পরিচিতি - অনলাইন কোর্স - বাংলা | Software Testing Basics - Online Course in Bangla
Watch on YouTub
সফটওয়্যার টেস্টিং প্রথমিক ভূমিকা | Software Testing Basic Role
Watch on YouTube

Search with this at youtube —

Software Testing Tutorial for Beginners | QA Testing Training | Edureka
Software Testing Tutorial — Complete Guide | Guru99
Software Testing Tutorial | Simplilearn
Software Testing Tutorial for Beginners | Software Testing Fundamentals |

Software Testing Tutorial for Beginners — Quality Assurance Training — Edureka
Here are some Youtube links for basic Software manual testing in bangla:

QA manual testing tutorial for beginners | software testing course in bangla | Introduction | Part-1 by Software Testing Academy
Software Testing Tutorial in Bangla PART 1 | Manual Testing Bangla Tutorial | What is SQA by Software Testing Bangla Tutorial
Manual Software Testing Training Part-1 by SDET- QA
সফটওয়্যার কোয়ালিটি এস্যুরেন্স -প্রথম পর্ব Software Quality Assurance in Bangla — First Episode by Shah Amanat
QA manual testing tutorial for beginners | software testing course in bangla | Introduction | Part-2 by Software Testing Academy
Here are some Youtube links for basic software testing in english:

https://www.youtube.com/playlist?list=PLUDwpEzHYYLseflPNg0bUKfLmAbO2JnE9

Software Testing Tutorial #1 — What is Software Testing | With Examples by Software Testing Mentor
Software Testing Full Course In 10 Hours | Software Testing Tutorial | Edureka by edureka!
Lesson 1 — Software Testing by Skillrill — IT Bootcamp and Recruitment
Software Testing Tutorial For Beginners | Manual & Automation Testing | Selenium Training | Edureka by edureka!
Introduction to Software Testing. || The Essential Guide to Software Testing by Coders Arcade