Vous êtes sur la page 1sur 9

Unit-7: Types of Testing

Different Types Of Testing

Types of Testing:-

 Installation Testing.

 Usability Testing.

 Regression Testing.

 Performance Testing.

-Load Testing.

-Stress Testing.

 Security Testing.

1) Installation Testing

 Pre-operation testing

 Testing performed to validate that the developed system will operate as intended in the
production environment

 Validates whether the tested software system effectively and efficiently integrates with
other system

Two types of Installation Testing

 Testing new software installation

Testing perform before installation of software

 Testing Changed Software version

Check compatibility of old software before installation

Testing new Software Installation

The installation poses two difficulties for the test team:-

 Installation is a process separates from the rest of the application development.

 Installation normally occurs in a very short time span.

therefore, tests must be well planned and executed if they are to be meaningful and helpful
to the installation process.

Installation testing should take care of the following points

1. To check if while installing product checks for the dependent software / patches ,say Service
pack3.
2. The product should check for the version of the same product on the target machine, say
the previous version should not be over installed on the newer version.

3. Installer should give a default installation path say “C:\programs\.”

4. Installer should allow user to install at location other then the default installation path.

5. Check if the product can be installed “Over the Network”

6. Installation should start automatically when the CD is inserted.

7. Installer should give the remove / Repair options.

8. When uninstalling, check that all the registry keys, files, Dll, shortcuts, active X components
are removed from the system.

9. Try to install the software without administrative privileges (login as guest).

10.Try installing on different operating system

11.Try installing on system having non-compliant configuration such as less memory / RAM /
HDD

12.After installation, Read me file should be opened after installation. On Finish or before
Finish.

13.Shortcut should be created after installation. Open the application and should open without
crash or error.

14.Also, we have to check the Valid-Registration key information. It should not allow the Crack.

Flow chart showing simple installation process:


2) USABILITY TESTING
• Usability is the measure of the quality of a user's experience when interacting with a
product or system — whether a Web site, a software application, mobile technology, or any
user-operated device.

• Involve user throughout the design phase.

• Designing interface on paper and next step is to create one or more prototype.

• Rather than Questioning the user its more effective to simply turn the user with application
which have to be test.

• Discoverability of Features

• At the end make the changes to your interface and test it again.

IMPORTANCE

1.Memorability

2.User gets lost

3.User friendliness

GOLES OF USABILITY

*The aim is to observe people using the product to discover errors and areas of improvement.

*generally involves measuring

• Efficiency

• Accuracy

• recall

• emotional response.

METHODS
• involves carefully creating a realistic situation while observers watch the sample users

• Feedback is gathered then using different methods.

• Eg. Asking to a user to send an E-mail

TYPES

• Hallway testing

• Remote testing

CHALLENGES

• small sample size

• Not every usability problem is equally easy-to-detect

Questions: v.v.impQ ) Write a note on regression testing and stress testing with
examples. (4 times in exams 10 marks)

Que) Short note on

a)Regression Testing(5 marks)

3) Regression testing:

• If a piece of Software is modified for any reason testing needs to be done to


ensure that it works as specified and that it has not negatively impacted any
functionality that it offered previously. This is known as Regression Testing.

• Regression tests are a series of tests to ensure that no adverse changes are
introduced to the application during maintenance changes, upgrades, or other
modifications.

• Regression testing is often an iterative process during a testing cycle

• Regression testing may be conducted manually, by re-executing a subset of


all test cases or using automated capture/playback tools.

 The regression test suite (the subset of tests to be executed) contains three
different classes of test cases:

 A representative sample of tests that will exercise all software functions.

 Additional tests that focus on software functions that are likely to be affected
by the change.

 Tests that focus on the software components that have been changed.

why is regression testing necessary ?

• Regression Testing plays an important role in any Scenario where a change has
been made to a previously tested software code. Regression Testing is hence an
important aspect in various Software Methodologies where software changes
enhancements occur frequently.

• For example ‘Extreme Programming’ Methodology advocates applying small


incremental changes to the system based on the end user feedback.

Why is Regression Testing important?

• Any Software change can cause existing functionality to break.


Changes to a Software component could impact dependent Components.

It is commonly observed that a Software fix could cause other bugs.

All this affects the quality and reliability of the system. Hence Regression Testing, since it
aims to verify all this, is very important.

• This provides confidence that the system will function with newly implemented
requirements.

What to Test?

• Any functionality that was addressed by the change

• Original Functionality of the system

Performance of the System after the change was introduced

How to Test?

• Like any other Testing Regression Testing Needs proper planning.


For an Effective Regression Testing to be done the following ingredients are necessary:


- Create a Regression Test Plan: Test Plan identified Focus Areas, Strategy, Test Entry
and Exit Criteria. It can also outline Testing Prerequisites, Responsibilities, etc.


- Create Test Cases: Test Cases that cover all the necessary areas are important. They
describe what to Test, Steps needed to test, Inputs and Expected Outputs. Test Cases used
for Regression Testing should specifically cover the functionality addressed by the change
and all components affected by the change. The Regression Test case may also include the
testing of the performance of the components and the application after the changes were
done.

Making Regression Testing Cost Effective:

With each change Regression Testing could become more and more costly.

To make the Regression Testing Cost Effective and yet ensure good coverage one or more of the
following techniques may be applied:

- Test Automation: If the Test cases are automated the test cases may be executed using scripts
after each change is introduced in the system. The execution of test cases in this way helps
eliminate oversight, human errors,. It may also result in faster and cheaper execution of Test
cases. However there is cost involved in building the scripts.

- Selective Testing: Some Teams choose execute the test cases selectively. They do not execute
all the Test Cases during the Regression Testing. They test only what they decide is relevant. This
helps reduce the Testing Time and Effort.

4) Performance Testing

 Performance testing is designed to test the runtime performance of software within the
context of an integrated system.

 Performance testing occurs throughout all steps in testing process.

 Even the unit level, the performance of an individual module may be accessed as tests are
conducted.

 Performance tests are often coupled with stress testing and usually required both hardware
and software instrumentation

 Performance testing is testing that is performed, from one perspective, to determine how
fast some aspect of a system performs under a particular workload.

 It can also serve to validate and verify :

 Reliability.

 Scalability.

 Resource usage.

Purposes:

• Demonstrate that the systems meets performance criteria.

• Compare two systems to find which performs better.

• Measure what parts of the system or workload cause the system to perform badly.

Types Of Performance Testing

 Load Testing

 Stress Testing

4.a) Load Testing:

• Load Tests determine the applications behavior under load, up to and including its limits
(not just at its limits).

• Load tests specifically refer to the load size (number of concurrent users) and related
values.

• Permutation to following variable define test condition:


• N, no. of concurrent users.

• T, no. of online transactions/unit of time.

• D, data load processed by server / transaction.

• P, overall throughput.

• P=N*T*D

Examples of load testing include:

• Downloading a series of large files from the Internet .

• Running multiple applications on a computer or server simultaneously.

• Assigning many jobs to a printer in a queue.

• Subjecting a server to a large amount of e-mail traffic.

• Writing and reading data to and from a hard disk continuously.

Que) What is stress testing ? Explain how stress testing is carried out.

4.b) Stress Testing

 Stress tests are designed to confront programs with abnormal situations.

 Tester who performs stress testing asks:”How high can we crank this up before it fails?”

 Testers job is to find stress and find the solution over stress.

 Stress testing determines the applications ability to handle large amounts of data.

 Stress Testing can be much more successful with a full load applied to the server.

 Running addition applications on the server in conjunction with the client side tests is an
additional form of stress testing.

It answers following questions…

• Does the system degrade gently?

• Are transactions lost as capacity increases?

• Is data integrity affected as capacity exceeds?

• If system fails, how long will it take to come back online?

• Are certain functions discontinued as capacity reaches 80-90%?


Que) Short note on Security Testing.(5 marks)

5) Security Testing

 Any computer-based system that manages sensitive information or causes actions that can
improperly harm (or benefit) individuals is a target for improper or illegal penetration .

 To quote Beizer : "The system's security must, of course, be tested for invulnerability from
frontal attack—but must also be tested for invulnerability from flank or rear attack.“

 Security testing attempts to verify that protection mechanisms built into a system will, in
fact, protect it from improper penetration.

 Any computer-based system that manages sensitive information or causes actions that can
improperly harm individuals is a target for improper or illegal penetration

Software Testing can also be stated as the process of validating and verifying that a software
program/application/product:

• meets the business and technical requirements that guided its design and development;

• works as expected; and

• can be implemented with the same characteristics.

• Software Security Testing is the process of ensuring that software is designed to operate at
a level of security that is consistent with the potential harm that could result from the loss,
inaccuracy, alteration, unavailability, or misuse of the data and resources that it uses,
controls, and protects.

• Any computer based system that manages sensitive information or causes actions that can
improperly harm (or benefit) individuals is a target for improper or illegal penetration.

• Security testing attempts to verify that protection mechanism built into a system will, in
fact, protect it from improper penetration. The system security must be tested for
invulnerability.

• During security testing, the tester plays the role of the individual who desires to penetrate
the system.

• The tester may attempt to :

• Acquire passwords through external clerical means

• Attack the system with custom software designed to break down any defenses that have
been constructed

• Overwhelm the system, thereby denying service to others

• Browse through insecure data, hoping to find the key to system entry
To protect against these vulnerabilities , one or more of the following security
elements is implemented

• Firewall: a filtering mechanism that is a combination of hardware and


software that examines each incoming packet of information to insure that it is
coming from a legitimate source, blocking any data that are suspect.

• Authentication: a verification mechanism that validates the identity


of all clients and servers, allowing communication to occur only when both sides are
verified.

• Encryption: an encoding mechanism that protects


sensitive data by modifying it in a way that makes it impossible to
read by those with malicious intent. Encryption is strengthened by
using digital certificates that allow the clients to verify the
destination to which the data are transmitted.

• Authorization: a filtering mechanism that allows access to the


client or server environment only by those individuals with appropriate
authorization codes (eg., userID and password).

Vous aimerez peut-être aussi