You are on page 1of 9

Basics of Software Testing &

Common Problems.

Day 1-Session 1
Lavanya.M
What is Software Testing

“Testing is the process of exercising or evaluating a system or system


component by manual or automated means to verify that it satisfies specified
requirements”

On a whole, testing objectives could be summarized as:

Testing is a process of executing a program with the intent of finding an


error and make sure the bugs are closed within the given time frame.
A good test is one that has a high probability of finding an as yet
undiscovered error.
A successful test is one that uncovers an as yet undiscovered error.
Why do we need Testing
Testing is required to ensure that the applications meets the objectives related
to the applications’ functionality, performance, reliability, flexibility,
ease of use, and timeliness of delivery.

Developers hide their mistakes

To reduce the cost of rework by detecting defects at an early


stage.

Avoid project overruns by following a defined test


methodology.

Ensure the quality and reliability of the software to the users.


SIX ESSENTIALS OF TESTING

The quality of the test process determines the success of the test
effort.

Prevent defect migration by using early life cycle testing techniques

The time taken for software testing tools

Testing activities responsibilities for improving the process to be


taken.

Testing is a professional discipline requiring trained, skilled people.

Cultivate a positive team attitude of creative destruction.


Software Testing 10 Rules.
Test early and test often.

Integrate the application development and testing life cycles. You'll get better
results and you won't have to mediate between two armed camps in your IT
shop.

Formalize a testing methodology; you'll test everything the same way and
you'll
get uniform results.

Develop a comprehensive test plan; it forms the basis for the testing
methodology.

Use both static and dynamic testing.

Define your expected results.


Contd…
Software Testing 10 Rules. Contd…
Understand the business reason behind the application. You'll write a
better application and better testing scripts.

Use multiple levels and types of testing (regression, systems, integration,


stress and load).

Review and inspect the work, it will lower costs.

Don't let your programmers check their own work; they'll miss their own
errors
A Good Test Engineer.
A Good Test Engineer has a ‘test to break’ attitude.

An ability to take the point of view of the customer.

A strong desire for Quality.

Gives more attention to minor details.

Tact & diplomacy are useful in maintaining a co-operative relationship


with developers

Ability to communicate with both technical & non-technical people is


useful.

Judgment skills are needed to assess high-risk areas of an application


on which to focus testing efforts when time is limited.
When to Stop Testing.
This can be difficult to determine. Many modern software applications are so complex and
run in such an interdependent environment, that complete testing can never be done.
Common factors in deciding when to stop are

Deadlines, e.g. release deadlines, testing deadlines;

Test cases completed with certain percentage passed;

Test budget has been depleted;

Coverage of code, functionality, or requirements reaches a specified


point;

Bug rate falls below a certain level; or Beta or alpha testing period ends.
Common Problems in Software.
Erroneous Analyze of the Requirement – Un clear requirement,
Lack of Knowledge – Due to development Team/ Testing Team.
Inadequate testing – Lack of Process flow up in the STLC phase
Resources Allocation – Terminated due to some reasons,
Resignation, plummet Sick
Lack of Communication – Client side. Within the team.
Time lap in the Schedule – Due to development bug fix, Testing,
Requirement change.

You might also like