what is Software testing?

Answer Posted / lakshmanaraj bg

Software testing:

Software testing is an essential part of software development which is used to identify the correctness, completeness and quality of developed software.


Software testing is the process used to help identify
the correctness, completeness, security & quality of
developed computer software.

Its main objects are to detect error in software.

Unit testing :( Dynamic)

In Unit Testing, Different modules are tested, against
the specifications produced during design for the modules.

Unit Testing is the first level of dynamic testing and
is first the responsibility of the developers and then of the testers.

Unit testing is performed after the expected test results are met or differences are explainable/acceptable.

INTEGRATION TESTING: (Dynamic)

Many Unit Tested Modules are combined into subsystems, which are then tested.

The goal is to see if the modules can be integrated properly.

1. BIG BANG APPROACH: (Non-incremental)

- Combines all programs/modules/subsystems for execution
at once.

Disadvantages:

Tracing down of defect is not easy.

2. TOP DOWN APPROACH:

In this approach testing is conducted from main module to sub module.

If the sub module is not developed a temporary program called STUB is used for simulate the sub module.

3. BOTTOM UP APPROACH:

In this approach testing is conducted from sub module to main module.

If the main module is not developed a temporary program called DRIVERS is used to simulate the main module.

SYSTEM TESTING:

Here Testing conducted on a complete, integrated system
to evaluate the system's compliance with its specified requirements.

Compete software build is made and tested to show, that all requirements are met.

TYPES OF SYSTEM TESTING:

-VOLUME TESTING:

To find the weakness in the system with respect to its handling of large amount of data, during short
time period. (Focus is amount of data)

- STRESS TESTING:

The purpose of stress testing is, to test the system capacity, whether it is handling large number of
processing transactions during peak periods. (Moment)

- CONCURRENCY TESTING:

It is similar to Stress Testing; here we are checking the system capacity to handle large number of processing transactions in an INSTANT.

-PERFORMANCE TESTING:

System performance can be accomplished in parallel with volume and stress testing, because system performance
is assessed under all conditions.

System performance is generally assessed in terms of response time and throughput rates, under
different processing and configuration condition.

REGRESSION TESTING:

Is the re-execution of same subsets of test cases that have already executed, to ensure that changes (after defect fix) have not propagated unintended side effects?

Regression Testing is the activity that helps to ensure that changes do not introduce unintended behavior or additional bugs.

SECURITY TESTING:

Attempts to verify that protection mechanisms built into
a system will infact protect it from improper penetration.

System is protected in accordance with importance to organization, with respect to security levels.

RECOVERY TESTING:

Forcing the system to fail in different ways and checking how fast it recovers from fail.

COMPATIBILITY TESTING:

Checking whether the system is functionally consistent across all platforms.

SERVER TESTING:

Here we have to check Volume, Stress, Performance, data recovery testing, backup and restore testing,
error trapping data security, as a whole.

Here we have to check the PAIN ( e business concept).

WEB TESTING:

In web testing we have to do compatibility testing, browser compatibility, video testing (pixel- testing on font
and alignment)
modem speed, web security testing and directory set up.

This is a real time and highly tedious to web testing.

Automated tool is a must to do web testing.

ACCEPTANCE TESTING:

Acceptance testing (also known as user acceptance testing) is a type of testing carried out in order to verify if the product is developed as per the standards and
specified criteria and meets all the requirements
specified by customer.

ALPHA TESTING:
Alpha testing is conducted at the developers place, by the customer. The software is tested in a natural setting with the developer 'looking over the shoulder' of the user
(i.e. customer) and recording errors and usage problems.

Alpha test are conducted in a controlled environment.


BETA TESTING:

Beta Testing is conducted at one or more customer sites by the end user of the software.

Here the developer is not present during testing.

Here the client tests the software or system in his place and recording defects and sending his comments to development team.

So the above is the detailed description about the System Testing.

static testing:

During static testing (verification) you have a checklist
to check whether the work you are doing is going as
per the set standards of the organization.

These standards can be for Coding, Integrating and Deployment.

Dynamic Testing:

Dynamic Testing (validation) involves working with
the software, giving input values and checking if
the output is as expected.

Random testing:

Random testing as the name suggests has no particular approach to test.

It is an ad hoc way of testing. The tester randomly picks modules to test by inputting random values.

E.g. an output is produced by a particular combination of inputs. Hence, different and random inputs are used.


Monkey testing:

Monkey testing is a type of random testing with no specific test case written.

It has no fixed perspective for testing.

E.g. input random and garbage values in an input box.

Non Functional Testing:

-Performance Testing:

Performance Testing is done to determine the software characteristics like response time, throughput or MIPS (Millions of instructions per second) at which the system/software operates.

-Load Testing:

Load testing tests the software or component with increasing load, number of concurrent users or transactions is increased and the behavior of the system is examined and checked what load can be handled by the software.

The main objective of load testing is to determine the response time of the software for critical transactions and make sure that they are within the specified limit.

-Stress Testing:

Stress testing tests the software with a focus to check that the software does not crashes if the hardware resources (like memory, CPU, Disk Space) are not sufficient.

Examples:
Stress Test of the CPU will be done by running software application with 100% load for some days which will ensure that the software runs properly under normal usage conditions.


Suppose you have some software which has minimum memory requirement of 512 MB RAM then the software application
is tested on a machine which has 512 MB memory with extensive loads to find out the system/software behavior.

-Usability Testing:

Usability means the software's capability to be learned and understood easily and how attractive it looks to the end user.

Compatibility Testing:

Testing whether the system is compatible with other systems with which it should communicate.

Compatibility testing measures how well pages display on different clients.

For example: browsers, different browser version, different operating systems, and different machines.

At issue are the different implementations of HTML by the various browser manufacturers and the different machine platform display and rendering characteristics.

Also called browser compatibility testing and cross-browser testing.

Compatibility is a product feature and can have different levels of compliance.

White box testing:

1. Basis path testing.
2. Flow graph notation
3. Cyclomatic complexity.
4 Deriving test cases.
5. Graphic metrics.

Control structure testing:

1. Conditions testing.
2. Dataflow testing.
3. Loop testing.

structural and behavioral Testing:

Structural Testing is White Box Testing and where as Behavioral Testing is Black Box Testing.


migration testing:

1. Changing of an application or changing of their versions and conducting testing is migration testing.

2. Testing of programs or procedures used to convert data from existing systems for use in replacement systems.


Localization testing:

Localization Testing is nothing but testing the languages
now a day’s all applications r developing in all
languages so here we will check the application in
different languages.

Development Testing:

Development Testing denotes the aspect the aspects of test design and implementation most appropriate for the team developers to undertake.

In most cases test execution initially occurs with the developer testing group who designed and implemented the test, but
it is a good practice for the developer to create their tests in such a way so as to make them available to independent testing groups for execution.

Independent testing:

Independent testing denotes the test design and implementation most appropriately performed by someone
who is independent from the team of developers.

In most cases test execution initially occurs with the independent testing group that design and implement the test, but
the independent tester should create their testes to make them available to the developer testing groups for execution.

Goal of Software Testing:

* Demonstrate That Faults Are Not Present.
* Find Errors.
* Ensure That All the Functionality Is Implemented.
* Ensure the Customer Will Be Able To Get His Work Done.

IT TAKES ME ONE HOUR TO FINISH THIS..

THANK YOU.

Is This Answer Correct ?    4 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What do you like most about Quality Assurance/Testing?

2581


Testing terminologies followed by Google

2075


What does the test strategy include?

578


What methodologies do you used to develop test cases?

683


Explain what should your qa documents include?

581






When we should continue testing?

1083


List out the roles of quality assurance engineer?

574


What would you do if you have a large suite to execute in very less time?

713


how can i wrtie testcases for huge data

1578


When to start qa in a project?

598


Can any body worked in QA in Finincail / Trading experience. i appreciate if you ans my some questions.

1572


What is validation and verification in software testing?

625


Explain the process of project tailoring.

578


What is workflow testing?

584


how much it is necessary that if u r a sqa engineer then ur programming should be strong or either u have only concepts of it but u r not a good programmer.If the person is not a good programmer then do they are able to make their carrer in this field of qa and do it has good scope for them being not a good programmer?

1832