What is Software Testing?

Pallavi Mirajkar Dantkale
4 min readApr 20, 2021
  1. Software Testing is a part of the software development process.
  2. Software Testing is an activity to detect and identify defects in the software.
  3. The objective of testing is to release quality products to the client.

What is Software Quality?

  1. Quality is defined as a justification of all the requirements of a customer in a product.
  2. Quality software is reasonably: Bug-free, Delivered on time, Within budget, meets requirements and/or expectations, Maintainable.

What are an error, defect/bug, and failure?

  1. Error: Any incorrect human action that produces a problem in the system is called an error.
  2. Defect/Bug: Deviation from the expected behavior to the actual behavior of the system is called defect.
  3. Failure: The deviation identified by the end-user while using the system is called a failure.

What is STLC?

  1. STLC: Software Testing LifeCycle
  2. Requirement Analysis, Test Planning, TestCase Development, Environment Set up, Test Execution, Test Cycle Closure

What is QA vs QC?

  1. QA: Quality Assurance is process-related/oriented. It focuses on building in Quality.
  2. QA is for preventing defects and it is for the entire life cycle.
  3. QC: Quality Control is product-oriented. It focuses on testing for quality.
  4. QC is for detecting defects and focuses on the testing part of SDLC.

What are verification and validation?

  1. Verification checks whether we are building the right system. It typically involves reviews, walkthroughs, and inspections.
  2. Validation checks whether we are building the system right. Takes place after verifications are completed. Validation typically involves actual testing. Eg: System Testing.

Static Testing v/s Dynamic Testing:

  1. Static Testing: Related to Verification. Static Testing is an approach to test project documents in the form of reviews, walkthroughs, and inspections.
  2. Dynamic Testing: Related to Validation. It is an approach to test the actual software by giving inputs and observing results.

Difference between Inspection and walkthroughs:

  1. Walkthroughs: It is a formal review and we can discuss/ raise issues at a peer level.
  2. Also, the walkthrough does not have minutes of the meet. It can happen anytime and does not have a schedule as such.
  3. Inspection: It is a formal approach to the requirements schedule. At least 3–8 people will sit in the meeting.
  4. Inspection will have a proper schedule which will be intimidated by email to the concerned developer/tester.

Levels of Testing:

  1. Unit Testing: Done at the program level usually by developers. It is part of White Box Testing.
  2. Integration Testing: Integration testing of two or more modules. It is part of White Box Testing.
  3. System Testing: This is the area where the QA team is completely involved. Functional ( GUI testing, exception handling, Behavior of the system as per the requirement testing, database testing) and Non-Functional Testing (Performance Testing, stress testing, security testing ). It is part of Black box Testing.
  4. User Acceptance Testing: Here the end-user will test the software or product.

Black Box Testing:

Testing that conducts on the functionality of the application whether it is working according to customer requirements or not.

For Example, System Testing and UAT Testing.

White Box Testing:

Testing that conducts on the internal logic of the programs.

For Example, unit testing and integration testing are part of white-box testing.

Grey Box Testing:

Both combination of white box and black box testing.

For Example, Database testing.

What is System Testing?

  1. Testing overall functionality of the application with respect to client requirements.
  2. System Testing focuses on User Interface Testing (GUI), functional testing, non-functional testing, and usability testing.

GUI Testing:

GUI Testing is the process of testing the system’s Graphical User Interface of the Application Under Test. It involves checking the screen with the controls like menus, buttons, icons, and all types of bars — toolbar, menubar, dialog boxes, and windows, etc

What to check in GUI Testing ( Look and feel of the application )?

  1. Check all the GUI elements for size, width, position, length, and acceptance of characters or numbers.
  2. Check error messages are displayed correctly.
  3. Check font used in the application is readable.
  4. Check the alignment of the text is proper.
  5. Check that images have good clarity.
  6. Check that images are properly aligned.
  7. Check the positioning of the GUI elements for different screen resolutions.
  8. Check the color of the font and warning messages.

Usability Testing:

Usability Testing is also known as user experience (UX) testing, is a testing method for measuring how easy and user-friendly a software application is. A small set of target end-users use the software applications to expose usability defects.

Usability testing focuses on ease of application use, the flexibility of the application to handle controls, and the ability of an application to meet its objective.

Functional Testing:

Object Properties Coverage ( Button, menus, etc), Database Testing, Error handling coverage, calculations/manipulation coverage, link existence and links execution, cookies.

Non Functional Testing:

It is performed after the functional testing. It is important that the application is stable.

Performance Testing → Load testing, stress testing, volume testing; security testing ( Authentication ), recovery testing, compatibility testing ( Browser or OS compatible ), configuration testing (Hardware compatible), installation testing, sanity testing ( Garbage testing, extra functionality, or unwanted requirements should be taken out, usually done for maintenance projects)

What is UAT Testing?

User Acceptance Testing: After completion of System Testing, the UAT Testing team conducts testing in two levels: Alpha testing and Beta Testing.

--

--

Pallavi Mirajkar Dantkale

QA Engineer / Data Analyst — Highly committed to Quality Assurance and data analysis, advocate for quality and add the right value to the organization.