You are on page 1of 17

MTA EXAM 98-379

Software Testing Fundamentals


98-379: OBJECTIVE 2
Describe Testing Methodology
LESSON 2.3
Describe Testing Types
OVERVIEW Lesson 2.3

In this lesson, you will review the following:


• Various types of testing, including functional, performance
structural, regression, security, stress, accessibility, usability, and
localization testing
GUIDING QUESTIONS Lesson 2.3

• What is regression in software development?


• Give an example of a situation that might stress a software system.
• What type of testing helps to ensure support for users with
disabilities?
LECTURE Lesson 2.3

Regression testing
• Whenever any changes are made to a project, it is possible that
existing code may no longer work properly, or that previously
undiscovered bugs will present themselves. This kind of bug is called
a regression.
• To catch these defects, the entire project must be regression tested:
a complete retesting of a modified program, rather than a test of
only the modified units, to ensure that no errors have been
introduced with the modifications.
LECTURE Lesson 2.3

Stress testing
• Testing on a small scale, such as a single user running a web
application or a database with only a handful of records, may not
reveal problems that may occur when the application is used in “real
world” conditions.
• Stress testing pushes a system’s functional limits. It is performed by
subjecting the system to extreme conditions, such as peak volumes
of data or a large number of simultaneous users.
» These tests are also referred to as load tests, since they test a system
under heavy loads.
• Test automation allows rigorous stress testing without a minimal
amount of manual labor.
LECTURE Lesson 2.3

Performance testing
• Performance testing determines responsiveness, throughput,
reliability, and/or scalability of a system under a given workload.
• In web applications, performance testing is often closely related to
stress testing, measuring lag and responsiveness under a heavy load.
• In other applications (desktop and mobile apps, for example),
performance testing measures speed and resource utilization, such
as disk space and memory.
IN-CLASS ACTIVITY Lesson 2.3

Scenario:
As Jay continues to plan development of an application to organize and
manage recreational basketball leagues, team members are
brainstorming a thorough plan for testing their work. Jay wants to
make sure that every aspect of the application is able to be tested
efficiently, including the ability to re-test code throughout the full
development cycle. He has asked his team members to view two videos
to review testing techniques.
Directions:
Watch this first video for a look at performance and stress testing in
Visual Studio: http://channel9.msdn.com/Series/Visual-Studio-2012-
Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-Load-
testing-applications-in-Visual-Studio
LECTURE Lesson 2.3

Security testing
• Security testing validates an application's security services and
identifies potential security flaws.
• Many projects use a black box approach to security testing, allowing
security experts with no knowledge of the software to probe the
application for holes and weaknesses.
LECTURE Lesson 2.3

Usability testing
• Usability testing evaluates a project by studying how real users
actually use the software.
• Examples include
» Measuring how long it takes a user to complete a task.
» Tracking how many “clicks” or user actions it takes to complete a task or
access a feature.
LECTURE Lesson 2.3

Localization testing
• Localization translates the product UI and occasionally changes
some initial settings to make it suitable for another region.
» For example, a project localized for France might change the language
to French and units of measurement to the metric system.
• Localization testing checks the quality of a product's localization for
a particular target culture/locale.
• Localization testing focuses on the UI and other areas affected by
localization (setup and upgrade in localized environments, hardware
compatibility based on the target region, etc.)
IN-CLASS ACTIVITY Lesson 2.3

Scenario:
As Jay continues to plan development of an application to organize and
manage recreational basketball leagues, team members are
brainstorming a thorough plan for testing their work. Jay wants to
make sure that every aspect of the application is able to be tested
efficiently, including the ability to re-test code throughout the full
development cycle. He has asked his team members to view two videos
to review testing techniques.
Directions:
• Watch this second video to learn how you can test an app for
localization compatibility:
http://channel9.msdn.com/Series/Introducing-Windows-8/Test-Multi-
language-apps-using-the-Multilingual-App-Toolkit
IN-CLASS ACTIVITY Lesson 2.3

Follow up:
After viewing the two videos, discuss the following topics with your
classmates.

• What is the role of the Web Test Recorder in load testing?


• What variations can you simulate in a load test?
• What add-on do you need to test using pseudo-localization?
• List some problems that localization testing can identify.
LECTURE Lesson 2.3

Accessibility testing
• Accessibility testing validates an application’s support for users with
disabilities.
• Accessibility testing may include:
» Compliance: Does it comply with legal requirements regarding
accessibility?
» Effectiveness: Can users with disabilities use the application?
» Usefulness: Does the application expose adequate functionality for users
with disabilities?
» Satisfaction: How is the application perceived by users with disabilities?
• Accessibility testing may include usability tests with disables users
and assistive technology devices.
REVIEW Lesson 2.3

Can you answer these?


• What is regression in software development?
• Give an example of a situation that might stress a software system.
• What type of testing helps to ensure support for users with
disabilities?
ADDITIONAL RESOURCES Lesson 2.3

MSDN® Resources
Regression Testing http://blogs.msdn.com/b/narendra_parihar
s_blog/archive/2012/04/20/regression-
testing.aspx
Testing Performance and Stress http://msdn.microsoft.com/library/dd2935
Using Visual Studio Web 40.aspx
Performance and Load Tests
Testing for Securability http://msdn.microsoft.com/en-
us/library/aa292190.aspx
Localization Testing http://msdn.microsoft.com/en-
us/library/aa292138.aspx
Testing a User Interface http://msdn.microsoft.com/en-
us/library/windows/desktop/ff728827.aspx

You might also like