DEV Community

Michael Chepala
Michael Chepala

Posted on

What is Software and Why Do We Need to Test It? & What is SDLC, Insights from a Software Manual Testing Engineer

Discover what software is, why software testing is crucial, and the roles involved in software development. Learn how a bank's software requirements are managed and tested.

what-is-software-and-why-test-it


Ever wondered what software really is and why it's so important to test it? We'll dive into the basics of software, the necessity of thorough testing, and who gets involved in the development process. Plus, we’ll explore a real-world example of bank software development, highlighting key considerations for business analysts and testing engineers.

What is Software?

Software is a collection of programs. These programs tell a computer what to do. It can help you write a letter, play a game, or manage your money.

Why Do We Have to Test Software?

Testing software is very important. Here’s why:

  1. Ensures Quality: Testing makes sure the software does what it's supposed to do.
  2. Identifies Bugs: It helps find and fix mistakes before the software is used by people.
  3. Enhances Security: Testing can find ways bad guys might try to break in.
  4. Improves Performance: It checks if the software works well and fast.
  5. Customer Satisfaction: People are happy when the software works right.

Who Can Develop Software and For Whom?

Software can be made by:

  • Software Engineers/Developers: These are people who write the code.
  • Software Companies: Companies that create software.
  • Freelance Developers: People who work alone on software projects.

Software is made for:

  • Businesses: To help run their operations.
  • Consumers: For things like games and apps.
  • Governments: To help manage public services.

How We Make Software: The SDLC Process

To make software, we follow a process called the Software Development Life Cycle (SDLC). Here are the steps:

  1. Planning: We decide what the software should do.
  2. Analysis: We study how to make the software.
  3. Design: We plan how the software will look and work.
  4. Development: We write the code.
  5. Testing: We check if the software works correctly.
  6. Deployment: We release the software to users.
  7. Maintenance: We fix problems and update the software as needed.

Example: Bank Software Development

Imagine a bank wants new software to help people with online banking. Here’s what happens:

Requirements from the Bank to the IT Company

As a business analyst, you’d need to think about:

  1. Scope of the Project:

    • What features are needed? Like online transactions and account management.
    • How secure does it need to be?
  2. Budget:

    • How much will it cost?
  3. Timeline:

    • How long will it take to make?
  4. Compliance:

    • Does it follow the rules for banks?
  5. User Requirements:

    • What do the users want?
  6. Technology Stack:

    • What tools and programming languages will we use?

As a Software Manual Testing Engineer

Your job would include:

  1. Creating Test Plans:

    • Make a plan for how we will test the software.
  2. Writing Test Cases:

    • Write down what to test in the software.
  3. Executing Tests:

    • Test the software to find problems. Check if everything works well and is easy to use.
  4. Reporting Bugs:

    • Tell the developers about any problems you find.
  5. Regression Testing:

    • Test again after bugs are fixed to make sure nothing else broke.
  6. User Acceptance Testing (UAT):

    • Let real users test the software to make sure it’s good.

Key Considerations for Business Analysts and Testing Engineers

When making software, you need to think about:

  • Budget Constraints: Keep the project within the budget.
  • Time Management: Finish the project on time.
  • Quality Assurance: Make sure the software is high quality.
  • Stakeholder Communication: Keep everyone informed.
  • Risk Management: Find and fix problems early.

Summary

In simple terms, software is a bunch of programs that help computers do things. Testing the software is super important to make sure it works well and safely. Making software involves many steps, from planning to testing. In our bank example, we showed how important it is to think about budget, time, and quality. Testing engineers play a big role in making sure the software is ready for everyone to use.

Top comments (0)