What is Scalability testing in software testing?

It is a type of non-functional testing. It is a type of software testing that test the ability of a system, a network, or a process to continue to function well, when it is changed in size or volume in order to meet a growing need.

  • It is the testing of a software application for measuring its capability to scale up in terms of any of its non-functional capability like load supported, the number of transactions, the data volume etc.
  • Example: An ecommerce site may be able to handle orders for up to 100 users at a time but scalability testing can be performed to check if it will be able to handle higher loads during peak shopping seasons.

What is Security testing in software testing?

It is a type of non-functional testing. Security testing is basically a type of software testing that’s done to check whether the application or the product is secured or not. It checks to see if the application is vulnerable to attacks, if anyone hack the system or login to the application without any authorization. [Read more…]

What is Compatibility testing in software testing?

It is a type of non-functional testing. Compatibility testing is a type of software testing used to ensure compatibility of the system/application/website built with various other objects such as other web browsers, hardware platforms, users (in case if it’s very specific type of requirement, such as a user who speaks and can read only a particular language), operating systems etc.

  • This type of testing helps find out how well a system performs in a particular environment that includes hardware, network, operating system and other software etc. [Read more…]

What is Load testing in software testing?

Load testing is a type of non-functional testing. A load test is type of software testing which is conducted to understand the behavior of the application under a specific expected load.

  • Load testing is performed to determine a system’s behavior under both normal and at peak conditions. [Read more…]

What is documentation testing in software testing?

Documentation testing is a non-functional type of software testing.

  • It is a type of non-functional testing.
  • Any written or pictorial information describing, defining, specifying, reporting, or certifying activities, requirements, procedures, or results’. Documentation is as important to a product’s success as the product itself. If the documentation is poor, non-existent, or wrong, it reflects on the quality of the product and the vendor. [Read more…]

What is Portability testing in software?

It refers to the process of testing the ease with which a computer software component or application can be moved from one environment to another, e.g. moving of any application from Windows 2000 to Windows 10. This is usually measured in terms of the maximum amount of effort permitted. Results are measured in terms of the time required to move the software and complete the and documentation updates.

Being able to move software from one machine platform to another either initially  or from an existing environment. It refers to system software or application software that can be recompiled for a different platform or to software that is available for two or more different platforms.

The iterative and incremental development cycle implies that portability testing is regularly performed in an iterative and incremental manner.

Portability testing must be automated if adequate regression testing is to occur.

The objectives of Portability testing are to:

  • Partially validate the system (i.e., to determine if it fulfills its portability requirements):
    • Determine if the system can be ported to each of its required environments:
      • Hardware ram and disk space
      • Hardware processor and processor speed
      • Monitor resolution
      • Operating system make and version
      • Browser make and version
    • Determine if the look and feel of the webpages is similar and functional in the various browser types and their versions.
  • Cause failures concerning the portability requirements that help identify defects that are not efficiently found during unit and integration testing.
  • Report these failures to the development teams so that the associated defects can be fixed.
  • Help determine the extent to which the system is ready for launch.
  • Help provide project status metrics (e.g., percentage of use case paths successfully tested).
  • Provide input to the defect trend analysis effort.

Portability tests include tests for:

Installability: Installability testing is conducted on the software used to install other software on its target environment.

Co-existence or compatibility: Co-existence is the software product’s capability to co-exists with other independent software products in a common environments sharing common resources.

Adaptability: Adaptability is the capability of the software product to be adapted to different specified environments without applying actions or means other than those provided for this purpose for the system.

Replaceability: Replaceability is the capability of the product to be used in place of another specified product for the same purpose in the same environment.

Examples of portability testing of an application that is to be portable across multiple:

  • Hardware platforms (including clients, servers, network connectivity devices, input devices, and output devices).
  • Operating systems (including versions and service packs).
  • Browsers (including both types and versions).