Antivirus Testing An Approach: Guide To Document
Antivirus Testing An Approach: Guide To Document
An Approach
1 INTRODUCTION.......................................................................................................................................1
2 INTRODUCTION TO ANTIVIRUS.........................................................................................................3
2.1 WHAT IS VIRUS?.......................................................................................................................................3
2.2 WHAT IS ANTIVIRUS?................................................................................................................................3
3 HOW ANTIVIRUS WORKS.....................................................................................................................3
4 TESTING ANTIVIRUS..............................................................................................................................4
4.1. FUNCTIONAL TESTS....................................................................................................................................4
SYSTEM TESTS.................................................................................................................................................5
INTEROPERABILITY TESTS...................................................................................................................................5
RELEASE CHECKS.............................................................................................................................................6
5 SPECIFICATION DEVELOPMENT APPROACH................................................................................6
5.1. STUDY OF SPECIFICATION DOCUMENTS..........................................................................................................6
5.2. PREPARATION OF COVERAGE MATRIX..........................................................................................................6
5.3. TEST SPECIFICATION DEVELOPMENT............................................................................................................7
5.4. TEST DATA COLLECTION...........................................................................................................................7
6 TEST ENVIRONMENT.............................................................................................................................7
6.1. TEST SIMULATORS.....................................................................................................................................8
6.2. ON DEVICE TESTING...................................................................................................................................8
TESTING VARIOUS RELEASES OF THE SOFTWARE......................................................................9
7.1. ALPHA TESTS............................................................................................................................................9
7.2. BETA TESTS..............................................................................................................................................9
7.3. CANDIDATE RELEASE TESTS.........................................................................................................................9
7.4. RELEASE TESTS.........................................................................................................................................9
TEST CASES ESTIMATE.........................................................................................................................10
TIME ESTIMATE.......................................................................................................................................11
9.1. TEST SPECIFICATION DEVELOPMENT .........................................................................................................11
9.2. TEST LAB SETUP ...................................................................................................................................12
9.3. TESTING................................................................................................................................................12
1 Introduction
This document covers the various anti-virus technologies to be followed to detect the
viruses present in the mobiles to protect the device from any data loss and damage.It
also coves in detail about the the various types of testing that can be performed on
the anti-virus software to ensure that the software is bug-free and to check the
stability of the device while using the it.
Guide to Document
This document is structured as follows:
• Introduction to AntiVirus
• How AntiVirus works
• Testing Antivirus
• Test Specification Development Approach
• Test Environment
• Testing across various releases
• Various time estimates
• References
Acronyms
Acronyms Definition
GSM Global System for Mobile Communications
GPRS General Packet Radio Service
IOT Interoperability tests
PSTN Public Switched Telephone Network
RAS Remote Access Server
PPG Push Proxy Gateway
2 Introduction to ANTIVIRUS
• Boot Sector Virus: This is the first sector in the hard disk or internal
drive. The boot sector is referred to every time the device is powered
on, and hence it is a vulnerable place for Virus attacks.
• Macro Virus: This is a most common virus. This virus spreads through
emails, Internet downloads etc.
• File Infecting Virus: This virus infects the executable files loading into
the memory when executed. This is the most interesting virus found
on mobile phones, in addition to worms and Trojan horses.
Virus in Mobiles
Virus in mobiles have been a new phenomenon but are increasingly becoming
a reality due to the large number of features and complexity of the software.
Virus in mobiles work pretty much the same way as in desktops from the user
perspective though the way in which they are transmitted differs greatly.
In desktops, the major source of virus transmission is through mails and web
sites. (network access). For mobiles, in addition to this, the most important
modes of virus transmission will be other interfaces like Bluetooth and
Infrared.
The ultimate result of a virus will still be the same i.e. to corrupt user data
and system data and in a lot of cases render the system unusable. This is a
worrying factor in mobiles considering that the core applications in most
mobiles are written by different vendors increasing the possibility of
weaknesses to be exploited.
Anti-Virus is software that is designed to detect the viruses present in the device
and remove them without causing any damage to the device.
1. Identifying the various virus-laden files using the virus signatures defined by
the scan engine
2. Since finding all the virus files using virus signatures is difficult, especially for
the new viruses, it should be possible to flag the suspicious data structures or
strange behavior which might result in a virus. This helps in detecting the files
that might contain virus in them.
Once the virus is detected, proper action should be taken by the anti-virus
software to ensure that the device is not affected and that there is no data loss.
4 Testing AntiVirus
4.1. Functional tests
These tests should be done to ensure that the anti-virus software functions properly
in the device and all it's features work fine.
a) Scanning Engine
This can be performed by importing some virus files into the device
and then running the anti-virus software.
Once the scanning is done, the details of the scan like the number of
viruses detected, type of the viruses and the action performed details
can be shown to the user.
All the types of actions that can be performed on the detected virus
should be tested. This can be done using various types of virus data
files like:
c) Logs
System Tests
These tests should be performed to ensure that the device is stable while the
virus scan is running in the background and when following interrupts (for
example) occur in between.
• Incoming/Outgoing Call
• Incoming/Outgoing Messages like SMS/EMS/MMS
• Beaming Events – IR and BT
• Alarm events from various applications like Clock, Calendar,
Tasks etc.
• Push Events – SI and SL
• Cell Broadcast Messages
• Synchronization
• Automatic Schedule updates
• Active Browser session and downloading of various files
including virus files
Other type of “active” tests should also be done during System tests. An
example would be sending a virus to the device via. MMS or E-mail as an
attachment or via IR/BT beaming and checking if the running anti-virus
detects it.
Interoperability tests
These tests ensure that the anti-virus software under test is compatible with
the various other applications present in the device.
For example, the PointSec application can be used to encrypt and lock the
various files present in the device. The behavior of the device on trying to
perform a scan while the PointSec application is active can tested.
2. Firewall applications: The anti-virus application should be compatible with
the Firewall software present in the device.
Virus detection can be done using the Firewalls also using the Detection
Intrusion feature where the firewalls scan for patterns of network traffic to
detect Virus. The interoperability of the anti-virus application on trying to run
it while the firewall is already active can also be tested.
Release Checks
1. Positive test cases- These test cases test directly the positive functionality
mentioned in the specification document or in the UC document.
The test specification is a consolidated report that lists all the test cases for
testing the antivirus software.
Test Case ID This cell contains the test case ID in a specified format to
ensure that the test Case ID's are unique
Prerequisite This cell contains the prerequisites for testing.
Objective Objective of the test case to verify
Description Short description of what the test case actually does
Expected Output The expected output
Reference Reference for this scenario from the specification
documents or Use Case document
Comments Comments regarding this test case
Test Data The Virus test data files required to execute this test
scenario
This phase involves the collection of various virus data files required to test
the antivirus software. The types of data files that are required to test the
various actions of the antivirus software are mentioned in Section 4.1.
These test data files may be supplied by the vendor during the testing. If not
then the test data has to be collected from the Internet.
6 Test Environment
Two types of test environment can be used to test the antivirus software
based on the development life cycle and the phases of the testing
6.1. Test Simulators
During the initial stages, the testing of the antivirus software can be done on
PC based test simulator. All the test cases that deal with checking the
functionality of the antivirus software can be covered using the test simulator.
The tests here will be performed by importing the necessary virus data files
into the test simulator and then running the antivirus software in it.
The test cases related to system testing and those test scenarios that need
network support have to be tested on the device.
Web Servers and Origin Servers are useful to test browser related interrupts
during the testing and also to download the virus data files into the device
while the scan is active.
The virus data files can be imported into the device either by downloading
them from the Web through various mechanisms like E-mail, MMS or by
beaming. Another alternative is to copy the virus data files to the Phone
memory or to the external memory using PC software.
This testing comprises of the initial testing cycles that are performed once the
software is ready.
For the software releases that happen initially, only the functionality of the
software has to be checked. Most of this testing can be done using the PC
based simulators (Refer Section 6.1) since network support will not be
required to test the basic functionalities of the antivirus software.
If the software is found to be stable and most or all of it's functionalities are
met, the software goes for Beta Release testing.
The software is taken for Beta testing only if it passes the alpha criteria.
This testing concentrates mainly on testing the stability of the device or the
system while using the antivirus software. This release is oriented more
towards the System testing.
These test have to be performed mostly on the device in order to execute the
network related interrupts like incoming call/messages, beaming events etc.
(Refer Section 6.2).
This includes checking the interoperability of the software by executing
various IOT related test scenarios.
The possible number of test cases for each of the types of testing is as
mentioned below:
1.Incoming/Outgoing
Call
2.Incoming/Outgoing
Messages like
SMS/EMS/MMS
3.Beaming Events –
IR and BT
4. Alarm events from
various applications
like Clock, Calendar,
Tasks etc.
5.Push Events – SI
and SL
6.Cell Broadcast
Messages
7.Synchronization
8.Automatic Schedule
updates
9.Active Browser
session and
downloading of
various files including
virus files
Performing scan when
the Phone memory is
full and during low
battery conditions
Negative test
scenarios like:
1. Scanning corrupt
files
2. Try to scan for files
not present in the
device
3.Updation of Virus
Scan software using
corrupted virus
signature files
Check the
compatibility of the 2
antivirus software
with other
softwares/applications
3 IOT test cases present in the mobile
Perform automatic
virus scan update and
automatic email
update at the same
time
Note: This estimate has been prepared considering only the basic
functionalities of the antivirus software. The number of these test cases is
subject to change based on the features that are going to available in the
software that is to be tested.
Time Estimate
Time required to set up the servers and have the data files like various virus
signature files in place in the anti-virus server = 40 man hours
Note: The feasibility of the lab set up for the antivirus server has to be
discussed yet. Based on that this time estimate is subject to change.
9.3. Testing
Total time estimated for testing across various cycles = 114 man hours
Note: This estimate is made considering on the basic and common features of
the antivirus software and is subject to change.