Académique Documents
Professionnel Documents
Culture Documents
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
therefore, tests must be well planned and executed if they are to be meaningful and helpful
to the installation process.
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.
4. Installer should allow user to install at location other then the default installation path.
8. When uninstalling, check that all the registry keys, files, Dll, shortcuts, active X components
are removed from the 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.
• 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
3.User friendliness
GOLES OF USABILITY
*The aim is to observe people using the product to discover errors and areas of improvement.
• Efficiency
• Accuracy
• recall
• emotional response.
METHODS
• involves carefully creating a realistic situation while observers watch the sample users
TYPES
• Hallway testing
• Remote testing
CHALLENGES
Questions: v.v.impQ ) Write a note on regression testing and stress testing with
examples. (4 times in exams 10 marks)
3) 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.
The regression test suite (the subset of tests to be executed) contains three
different classes of test cases:
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.
• 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.
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?
How to Test?
•
- 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.
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.
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.
Reliability.
Scalability.
Resource usage.
Purposes:
• Measure what parts of the system or workload cause the system to perform badly.
Load Testing
Stress 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.
• P, overall throughput.
• P=N*T*D
Que) What is stress testing ? Explain how stress testing is carried out.
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.
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;
• 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.
• Attack the system with custom software designed to break down any defenses that have
been constructed
• 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