DEV Community

saran kumar
saran kumar

Posted on

About Software Testing...

what is software?
-software is collection of computer programs that help us to perform a task.

in that, we have some types of software...
System Software:
-its program designed to run computer hardware and application and manage its resource like memory, processor.
example: device driver, operating system, utilities

Application software:
-application software is designed to handle some specific task for user.
example: web application, apps, computer application

programming software:
-it is tool for create code that allows system software to operate.
example: compiler: java 17, interpreter: python, debugger

Software Testing

_ Definition_:
software testing is method to check whether actual software product matches expected requirements and to ensure the software product is defect free.

Here some key aspects and concepts we need to know about software testing:-

purpose of testing
i. identify and fix bugs in the software
ii. verify that software meets its functional and
non-functional requirements
iii. improve quality and reliability of software.

Types of Testing:

Functional testing: validate that the software performs
functions correctly.

non-functional testing: focuses on aspect like scalability,
performance, usability.

white box testing: examine internal structure of software and
tests individual components.

black box testing: testing the software functionality without
knowledge of its internal code.

Regression testing: we add new functionality without break
existing functionality.

UAT testing: user acceptance testing involve end user to
validate whether software meets their requirements.

Load testing: it evaluates software performance under heavy
load.

Security testing: identify vulnerabilities and security of
software.

Testing life Cycle

<u>test planning</u>: define objectives, resources and test 
 strategy
<u>test design</u>: create test cases, test data
<u>test execution</u>: run test cases, record results
<u>defect tracking</u>: document and manage identified defects
<u>test reporting</u>: communicate test progress and reports
<u>test closure</u>: evaluate testing process and release it
Enter fullscreen mode Exit fullscreen mode

Testing Levels

unit testing: testing individual code components.

integration testing: interactions between integrate
components.

system testing:testing the system properties.

Acceptance testing: ensuring software meets user and
requirements.
Test Environments

 -maintain separate environments for development, testing and 
  production.
Enter fullscreen mode Exit fullscreen mode

Test Documentation

  • Test plan: outline a overall test strategy and approach.
  • test cases: detailed instruction for execute specific tests.
  • Test Scripts: Automation code for automated testing.
  • Test Reports: summarize test results and defects

challenges in software testing

  • incomplete or changing requirements
  • limited resources and time constraints
  • balancing manual and automated testing

*Continuous Testing *

  • integration testing into continuous integration for faster feedback about release cycle.

Tools and framework

-for web automation we using selenium version 2 to 4.13
-Pytest for unit testing

software testing is highly relevant in software development process for several important reason

  • Bug detection and prevention
    -it identify and eliminate bugs, defects, error in software code.

  • Quality Assurance - it ensures that software meets its requirements and functions correctly.

  • User Satisfaction- through testing we can get expected product with reliable user-friendly software.

  • Cost saving- testing early and regularly can save both time and money.

  • Risk Reduction- testing helps to identify potential issues and weakness of software in early phase .it reduce risk of project failure.

Top comments (0)