Sie sind auf Seite 1von 3

SOFTWARE QUALITY AND ASSURANCE

1. Software testing
Is a process of evaluating a software product or item in order to detect the
differences between given input and expected output. It also assesses the features
of a software item and quality of the product. It is a verification and validation
process which should be done during development.
2. Importance of software testing
 Software testing is necessary in delivering high quality products or
software applications to customers which requires lower maintenance cost
and hence result into more accurate, consistent and reliable results.
 Software testing is important in ensuring quality of the product being
developed. When quality products are delivered to users/customers, it
helps in gaining their confidence on the product.
 Software testing is important in ensuring the application cannot result in to
any failures in future through as the expense of fixing a bug will be very
high compared to when detected early when testing and fixed.
 Software testing is required in any software application being developed in
order to point out and identify defects and errors that were made during
development process and thereby correcting them before releasing it to the
customer.
 It is required for effective performance of the product in the real world
environment as the testing is done prior deployment and therefore before
being released, it should be working as expected.
3. Levels of software testing.
 Unit testing
In this type of testing, the program is submitted to assessment that
focus on specific units or components of the software to determine
whether each one is fully functional. The main aim is to determine
whether the application functions are designed. A unit can refer to
a function, procedure or individual program and approach used for
this testing is white box testing. This testing can be done every
time a piece of code is changed, allowing issues to be resolved as
quickly as possible.
 Integration testing
Allows the person testing to combine all of the units within a
program and test them as a group. This level of testing is designed
to find interface defects between the modules/functions. It’s
important because it determines how efficiently the units are
running together. Various testing methods can be used here but
specific method will depend on how units are defined.
 System testing
Is the first level in which the complete application is tested as a
whole. The goal here is to evaluate whether system has complied
with all the outlined requirements and to see that is meets quality
standards. It is undertaken by independent testers who were not
part of development team. It is very important because it verifies
that the application meets the technical, functional and business
requirements set by customer.
 Acceptance testing
This is the final level which is conducted to determine whether the
system is ready for release. During this final phase, the user will
test the system to find out whether the application meets business’
needs. Once this process is completed and software has passed, the
program will then be delivered to production.
4. Software test plan
It is a document describing testing scope, approach, resources and schedule of
intended test activities. It identifies amongst others test items, the features to be
tested, testing task, person responsible for testing etc. It is a record of test
planning process.
5. Test Case
It is a set of conditions or variables under which a tester determines whether the
software satisfies the requirements and functions properly. It is a single
executable test which tester carries out to guide him/her through the steps of the
test process.
6. Various strategies of software testing.
a. Analytic testing strategy: This uses formal and informal techniques to access
and prioritize risks that arise during software testing. It takes a complete overview
of requirements, design, and implementation of objects to determine the motive of
testing. In addition, it gathers complete information about the software, targets to
be achieved, and the data required for testing the software.

b. Model-based testing strategy: This strategy tests the functionality of the


software according to the real world scenario or example testing software
functioning in an organization for instance an employee management system
where all data required is supplied. It recognizes the domain of data and selects
suitable test cases according to the probability of errors in that domain

c. Dynamic testing strategy: This tests the software after having a collective
decision of the testing team. Along with testing, this strategy provides information
about the software such as test cases used for testing the errors present in it

d. Process-oriented testing strategy: Tests the software according to already


existing established standards such as the IEEE standards. In addition, it checks
the functionality of the software by using automated testing tools.

Das könnte Ihnen auch gefallen