WCDMA Test Automation Workflow Analysis and Implementation
WCDMA Test Automation Workflow Analysis and Implementation
YIKE LIU
Industrial Supervisor
Peder Sandelin
Ericsson WRBS I&V
Examiner and Academic Supervisor
Prof. Gerald Q. Maguire Jr.
Abstract
In the modern wireless communication industry, radio communication equipment
vendors not only produce communication hardware, but also produce software. In
fact, software revenue is now a large part of the total revenue. As technology has
developed and traffic demands increase, more and more functions required to
implement the radio system are implemented via software rather than hardware.
Today, many hardware functions are actually implemented with reconfigurable and
programmable hardware. Therefore, it is often possible to perform an upgrade by
loading new software (a software upgrade) rather than needing to change the physical
hardware with every technology advance. However, introducing new elements and
features in existing (often mature) software may cause unexpected problems. These
problems may include new parts malfunctioning and failure or degradation of old
functions. To avoid these problems, each version of software has to be thoroughly
tested, not only to test the new parts, but also to verify that the old functions still work
properly. Testing all the old functions is time and human resource consuming. Thus,
there is an increasing demand for automated testing. This thesis will focus on why
automated regression testing is necessary and how to implement automated testing in
a specific environment.
The thesis results show that automated testing can improve the test coverage by at
least 40% for one of Ericssons WCDMA software releases. This coupled with a
reduction in testing time enables more rapid development by significantly reducing
the test time without compromising quality. All of these results lead to improved
profitability and increased customer satisfaction.
Sammanfattning
I den moderna trdlsa kommunikationen industrin, radioutrustning
leverantrerna inte bara producera kommunikation hrdvara, utan ocks producera
mjukvara. Faktum r programvara inkomster r nu en stor del av de totala
inkomsterna. Eftersom tekniken har utvecklat och trafik krav kar, fler och fler
funktioner som krvs att genomfra radiosystem genomfrs via mjukvara istllet fr
maskinvara. Mnga hrdvara fungerar faktiskt genomfrs med omkonfigurerbara och
programmerbar hrdvara. Drfr r det ofta mjligt att utfra en uppgradering av
lastning ny programvara (en mjukvaruversionen) snarare n behver fr att ndra den
fysiska hrdvaran med varje teknik frvg. Men att infra nya element och funktioner
i befintliga (ofta ldre) programvara kan orsaka ovntade problem. Dessa problem kan
innehlla nya delar brister och fel eller frsmring av gamla funktioner. Fr att
undvika dessa problem, varje version av programvaran mste testas, inte bara att testa
de nya delarna, men ven fr att kontrollera att de gamla funktionerna fortfarande
arbete ordentligt. Testa alla gamla funktioner konsumera tid och personal. Sledes
finns det en kad efterfrgan p automatiserade tester. Den hr avhandlingen kommer
att fokusera p varfr automatiserad regression testning krvs och hur man genomfra
automatiserade tester i en viss milj.
Avhandlingen visar att automatiserade tester kan frbttra testbunt tckning med
minst 40% fr ett av Ericssons WCDMA programversionerna. Detta i kombination
med en minskning av provning tid mjliggr en snabbare utveckling av avsevrt
minska test tid utan att kompromissa med kvaliteten. Alla dessa resultat leda till bttre
lnsamhet och kat kundvrde beltenhet.
ii
Table of Contents
Abstract....................................................................................................................... i
Table of Contents ..................................................................................................... iii
List of Figures ........................................................................................................... v
Acronyms and abbreviations.................................................................................. vi
Chapter 1. WCDMA Overview .................................................................................. 1
1.1
1.2
WCDMA Introduction.......................................................................................... 1
WCDMA Architecture ......................................................................................... 1
1.2.1 UTRAN architecture introduction.......................................................... 2
1.2.2 CN architecture introduction................................................................. 3
2.2
2.3
3.2
3.3
iii
iv
List of Figures
Figure 1: WCDMA architecture overview ......................................................................2
Figure 2: WCDMA RAN architecture..............................................................................3
Figure 3: WCDMA core network overview ....................................................................4
Figure 4: Software lifecycle TMAP model....................................................................12
Figure 5: Ericsson WRBS I&V workflow model ............................................................16
Figure 6: Ericsson WRBS I&V workflow with automation ...........................................17
Figure 7: Ericsson WRBS I&V automation script development workflow ...................19
Figure 8: Increase in the number of test cases found in Ericssons automated test tool
as a function of time. ...................................................................................................36
NodeB
O&M/OAM
QoS
R99
RAB
RAN
RBS
RDBTH
RLS
RNC
RRM
SGSN
SRB
STM1
SW
T1
T3
TC
TFR
TMAP
TV
TX_DIV
TcData
UE
UMTS
UTRAN
Uu
VLR
WBTS
WCDMA
WRBS
vii
1.1
WCDMA Introduction
1.2
WCDMA Architecture
This section introduces the basic concepts of a WCDMA system by presenting its
architecture, including the key components and the interfaces between all the network
elements. The WCDMA architecture is similar to the 2nd generation GSM cellular
system. This was done purposely by 3GPP to enable 2nd generation systems to be
upgraded in steps to a 3rd generation system while minimizing the cost of such a
transition.
The WCDMA system can be divided into two parts: Universal Mobile
Telecommunication system (UMTS) Terrestrial Radio Access Network (UTRAN)
and Core Network (CN). UTRAN provides the radio functionality, such as wireless
data transmission, call service, and so on; while the CN is responsible for of all the
switching and routing of service requests and data along with interfacing to external
networks. The basic architecture is shown in Figure 1. As shown in this figure, the
interface between the User Equipment (UE), also called the mobile station (MS), and
the UTRAN is called the Uu interface, while Iu is the interface between the UTRAN
and the CN.
SGSN
GMSC
VLR
MSC
GGSN
CN
2.1
then human testers have to identify whether the failure was caused by the test
tool, the test environment, or the actual test target.
However, it is widely believed that automated testing can significantly improve
the verification process and increase the performance of the testing process. Today
more and more IT companies are adopting automated testing. Therefore, there are lots
of employment opportunities within this area while the number of manual testers
decreases.
2.2
acceptance testing [6]. As acceptance testing in the focus of this thesis, the
testers do not use the source code to the WCDMA Radio Base Station
(WRBS) software, thus all the test cases are performed in black box manner.
We will assume that earlier white box testing was done to ensure that each
subsystem has been tested in isolation. Black box testing is necessary
because the focus of the acceptance (and integration) testing is verification at
a system level and it is not feasible to test every subsystems
implementation. Therefore, we are concerned only with the output of the test
cases, i.e., that the output of the test case matches the expected output.
Test Environment
The test environment includes all the test software and hardware that are
require for the test, such as all the simulators (to provide input), test
instruments to observe the output of the equipment under test, and the
different configurations of the test object.
When automating the test process, all of the above points have to be addressed.
A well designed test process will improve the test efficiency. For instance, in
Ericssons WRBS I&V (Integration and Verification) department test analysis is
performed before the test process starts. Based on test procedure analysis and test
analysis 30% of the regression test cases can be eliminated [3]; both reducing the
duration of testing and making it easier to identify bugs. However, if the test process
is not defined properly, it can introduce additional problems during the test. [6]
2.3
WCDMA RBS. Thus a WCDMA RBS is the test target for all of the activities
described in this thesis.
2.3.2 Ericsson WRBS I&V Test Platform
Ericsson WRBS I&V department tests all the WCDMA RBS software for a
specific platform - including all the hardware and software.
Hardware platform
The WCDMA UTRAN consists of three parts: RNC, RBS, and MS. For
testing purposes a RNC simulator and MS simulator are used to ensure a
stable verification environment. Thus during the test process, a fixed RBS
hardware platform is used therefore the RBS software is the only variable
element during verification testing. Eliminating hardware variability should
make it much easier for the testers to identify bugs in a specific build of the
RBS software. Note that this requires testing to verify the hardware
platforms correct operation, before it is used for software testing.
Software platform
Since the RNC simulator and MS simulator provide open Application
Programming Interfaces (APIs) and each has a command line interface,
Ericssons WRBS I&V unit has developed a software platform called the
NodeB Integrated Test Environment (NITE) to control the three parts during
a test, i.e., to control the RNC simulator, the RBS, and the MS simulator in
the test environment.
2.3.3 Automated Testing Tool Development
In this thesis project, an automated testing tool is developed based on the
software and hardware platforms mentioned above. NITE provides the ability to
control basic operational functions of the RNC (simulator), RBS, and MS (simulator).
Using NITEs open APIs, testers can write scripts to automatically perform each step
in the test process. The NITE platform is implemented in Python 1 , thus, the
automated test scripts will also be written in Python.
Usually, a software build test includes many test cases. In our automated test tool,
each test case will be a Python script. The automated test tool generates a set of
scripts that implement each of the required test cases.
3.1
TMAP introduction
part will be briefly introduced to clarify why TMAP and automation are necessary to
support the software development and testing process.
Figure 4: Software lifecycle TMAP model (based on the figure shown on page 35 of [5])
3.2
TMAP Components
However, since some situations may occur that were not considered during the
planning, the plan may have to be refined as the test process matures. Thus it is
important to recognize that the test process must be adaptive to the actual testing
results and business needs, thus the lifecycle plan is a living document and not simply
fixed in stone.
3.2.2 Techniques
The techniques that are going to be used for each of the various test activities
have to be thoroughly considered when the test process is being designed. Since
several activities (Planning & Control, Preparation, Specification, Execution, and
Completion) happen during the test process, it is necessary to know how the activities
can be finished.
Before the test process starts, the techniques in all the activities must be evaluated
and the proper testing techniques chosen to satisfy the test requirements; while also
offering test efficiency. This is why Erik van Veenendaal and Martin Pols TMap
paper[6] talks about usable techniques.
During the planning & control phase, the development strategy must be selected
and a schedule analysis must be done. Assuming the selection of an excellent
technique in this phase, then the test strategy and schedule will be determined based
upon the product requirement from customers. Since the expectation from the
customers for the product varies depending upon the different scenarios in which the
system is going to be used by the customers, thus defining a good test strategy and
schedule to meet these various requirements is difficult. It is reasonable to expect that
the first test cases will need to be based upon the most common scenarios, while later
test cases will cover the special cases necessary to a more limited set of customer
requirements (for example, there might even be a branch in the test suite based upon
the type of customer or even the risk tolerance of the customer as some customers
may find it advantageous being on the bleeding edge while other customers will
want to operate a system which is already in widespread use (i.e., late adopters)).
In the preparation phase, the sub goal is to clarify the test bed that is necessary for
the test process. In specification phase, test case specifications driven by the test
strategy and test bed will be determined by test case analysis. During the execution
phase, the testers follow checklists and use statistical methods to determine if the
require features work correctly and if the system meets its requirements (including the
desired stability). Statistical control models (such as six sigma) are widely used in
manufacturing, but are not as widely used in the IT industry (however, there is some
work in this area, see for example [23][24][25][26][27][28]).
3.2.3 Organization
The complete test process is a complicated process which involves many factors
including hardware, software, and human beings. It is both desirable and necessary to
13
assemble all the relevant resources into a highly efficiency testing system. To
construct a smoothly working team, requires that all of the following be considered:
Who will be the testers?
Who will be the team leader?
Who will be the hardware management and support team?
Who will perform the test monitoring?
Who will be the test case designers?
Who will be members of the control committee?
Who will coordinate the various teams? What communications and technology
will be used for this coordination?
Who will be the automation architect?
Who will be the automation engineer?
Considering all the different roles above, it will be difficult to find a set of
persons with the required competences. Thus, when assembling the team, it is very
important to choose the proper persons.
Moreover, communication is also important inside the test team. As soon as the
test plan has been defined, execution ability must be given the highest priority. At this
phase, communication between the management team and testers will be essential;
this requires good organization and a suitable set of communication channels.
3.2.4 Infrastructure
The infrastructure for test process includes the test platform and test bed. The test
platform includes the hardware and software, and also the test procedures, test
environment construction, etc.
The infrastructure should be designed to provide stability and minimize
variations. To ensure that the test process can be executed smoothly, the infrastructure
has to be constructed to enable the optimal combinations of test inputs to be applied to
the system being tested. As the goal of testing is to determine if the product meets
specific requirements, a stable test infrastructure can make the test results more
convincible and much easier to analyze with statistical methods since the variation
should only be due to the system being tested and not due to unintended variations in
the test environment. Since testing will be applied to many versions (both now and in
the future) it is important that the test environment be stable over a long period of
time in order to decrease the difficulty of analyzing the test results.
Therefore the test infrastructure requires:
the hardware necessary for carrying out the test suite(s),
the software necessary for carrying out the test suite(s),
14
3.3
release, the maintenance team takes responsibility for the upgrade software package
(as the completion phase mentioned above). The completion phase keep track of the
release software and corrects potential bugs which might occur in a live network. The
maintenance teams major job is to ensure that the software is running correctly in
live networks and trouble shooting any problems which appear in the field within this
product. The maintenance team must provide feedback to both the software
developers and the various test teams as if a problem is detected once the software is
installed in the field, then there has been a failure in the design and implementation of
both the software itself and of the testing process!
3.3.2 Ericssons WRBS I&V Workflow Model
As the section above described, the work flow within Ericssons WRBS I&V
department is primarily linear, but with feedback paths. Figure 5 illustrates this
structure (which can also be seen as a work flow).
O&M
Implement
integration
release
Maintenance
regression
Traffic
Feedback/TRs
The workflow now in RBS I&V
As the figure above shows, the linear structure mainly focuses on the new
features, while the legacy tests will mainly be done during the maintenance phase.
Unfortunately, this means that backward compatibility testing will mainly occur in the
live network. However, if the software does not work in the live network, then the
product quality as seen by the customers will be considered poor. This may affect
Ericssons reputation and the willingness of the customer to purchase/license new
features as they will come as part of a new package. Therefore there is a desire to
change this workflow.
3.3.3 Automation Test Workflow
With the traditional work flow currently used by Ericsson I&V, even though the
regression test cases have been chosen very carefully, there is a high level of risk and
a very large human resource requirement to conduct these tests. Additionally, the
existing manual regression testing can no satisfy the test coverage requirement. To
solve this problem, it is necessary to move regression testing to an earlier phase.
However, if the regression testing is not automated, it will be almost impossible to
move it, due to the test plan schedule and human resources available. Thus, a decision
16
was made that an automation test tool was very necessary; not only to reduce testing
time and to allow easier execution of these tests, but also to dramatically decrease the
risk associated with releasing a software product/package.
Introduction of an automated testing tool should improve the efficiency of this
lifecycle - saving a lot of expense in the long run. Figure 6 illustrates the proposed
work flow model and shows how regression testing is now integrated into all of the
elements of this workflow. Moreover, since regression testing has been moved to (and
integrated with) the development phase, this can also reduce the product development
time cycle. As discussed earlier, understanding the lifecycle model of the software
testing process is essential.
O&M
Implement
integration
release
Traffic
Maintenance
regression
Maintenance
regression
Maintenance
regression
Feedback/TRs
The workfow with automation in RBS I&V
human errors may still occur as the unit under test must still be placed in the test
environment, connected to the test equipment (in our case the simulators for the other
parts of the WCDMA system and other test instruments). Unfortunately, this testing
technique does not eliminate the problems due to errors or failures in these simulators
or test instruments. This is the reason that we introduced test cases integration work as
the last phase to form a test suite.
When test case scripts have been completed, integrating these scripts into the test
suite will be done. The integration work is not only testing the scripts themselves, but
also integrating the other components, MSsim, RNCsim, NITE platform, etc. to find a
optimal test environment combination. Usually, during the integration work, only one
of the varibles (i.e., one component) will be changed. The new test suite will be
released only after integration. The combination forms an entire release product
including all components configuration.
18
19
very important for the developers to use the standard functions provided by the test
platform to reduce the maintain costs associated with each test script.
The test cases will be divided into several test groups (a sub test suite) based upon
the different test targets. For instance, the hardware test cases will be grouped into one
sub test suite, while the common channel control cases will form another sub test
suite. The test script team is responsible for developing a test base class for each sub
test suite. The functions in this class will be used throughout the various test cases
within a certain sub suite. This base class will be the super class for all test scripts
included in a sub test suite thus a sub test suit is itself an object. The common
functions of this base class will be imported before any test case runs. After the base
class has been designed and implemented, the test cases can be coded to use the
functions of this base class. Details of this base class can be found in [7].
However, NITE and this base class may not provide all the functions needed by a
test script developer. Therefore test script developers will have to implement their
own functions within their script. If these functions can be used by another test case in
the future, then these functions should be moved to the test base class or to a base
class for a specific group of tests (i.e., to the sub test suite).
4.2.3 Comments in the Code
In software engineering development is only a part of the whole process. As
noted previous, traditionally a large amount of the total effort is spent on software
maintenance. Moreover, as the human resources assigned to a product change, the
software development and maintenance tasks must be handed over to new people.
Therefore, suitable documentation is very important so that a new engineer can
understand the code, modify it, and maintain it. Comments in the code itself are one
means to provide this document. Therefore, as part of the documentation procedures a
clear and consistent commenting style is important. This style is document in NITE
TestScript Design Rules [7].
Note that today there exist a number of tools (such as Doxygen [13]) to
automatically extract documentation that is included in the source code to produce
documentation for the code. Current NITE (NITE provides the documentation
generating function) is being used to extract the documentation embedded in the
source code.
4.2.4 Logging
Another important utility to develop software is a logging system. It is unlikely
that new software or a new script will be without any bugs. To identify the location of
errors in the code, logs sometimes offer a way to find the where the problem is.
Moreover, the log can also be used to monitor a running software process. In the
NITE scripts described in this thesis, the logging system is divided into three layers.
The first layer is called the normal layer. The main function of this layer is to monitor
the softwares activities. The second layer, also called the warning layer, contains
21
some additional information to indicate that there might be some error. The third
layer, the debug layer, contains all the details generated by running the scripts.
Developers usually depend on debug logs to maintain the scripts.
Note that logs are particularly important for automatic testing as (1) there is not a
human watching the programs output and (2) the logs can automatically be compared
to the expected output thus reducing the amount of information that needs to be
presented to the (human) tester to only those log entries that are relevant to a
deviation from the expected output.
4.2.5 Result Report
One of the design rules [7] requires that at the end of every test case, the result of
this test case should be output to the log [7]. This result can be: Pass, Fail, or Skip. In
addition, to this trinary result, the test case identifier, test case name, failure/skip
reason (if a fail or skip occurred) will be logged to make it easier for testers to
monitor the test process. Each of these outputs is generated when the indicated
conditions are true:
FAIL
FAIL is reported if the preconditions are not met or if the test case result
is not OK.
SKIP
SKIP is reported if the actual test configuration does not fulfill the
required configuration specified in the precondition. If the test case
requires a specific configuration not covered by the precondition, then a
TestSkip_Exception can be raised.
PASS
build of scripts, all the modifications will be made as a branch. Only after testing by
the integration team and testing with several RBSs with different configurations will
the modified version be merged into the main branch, then delivered to the users
(normally, here users means the testers). The goal of this version control system is
that it will be much easier for the script developers to maintain these test scripts and
keep track on all modifications. This will be especially important when the test suite
grows to hundreds of cases, as understanding each branchs modifications will be
very helpful when trouble shooting.
23
5.1
In Chapter 3, the TMAP approach was introduced. The lifecycle model was
introduced in Chapter 4. In this section, the four parts of the TMAP will be described
as they actually relate to the actual automated test tool development effort of this
thesis project. These four parts of TMAP are:
Lifecycle
Techniques
Infrastructure
Organization
test developer understand each tests steps; and if necessary run the test manually to
make sure that there will not be any problem that could affect the tests result.
Based upon the FVS, the hardware and software necessary for the test
environment should also be prepared. The software is a python module in a UNIX
environment, the NITE platform software, and pylint syntax checking tool. All the
necessary modules should be integrated in the testers work station environment
before the test development process starts. The hardware platform and software
platform for the test infrastructure must match that assumed by the FVS; in fact, the
FVS should explicitly say what infrastructure it assumes.
5.2.2 Test Script Development
5.2.2.1 Test Script Structure
A Test Script must include the following parts to form a complete test script:
z Test Script Create and Revision History Record
At the very beginning of the script, it is important to record the
developers actions with regard to the creation and maintenance of the
script. The record should include the developers name, contact
information, date of modification, and a short description of what
changes have been made to the script. The purpose of this record is to
keep track of each modification of scripts. Thus it is essential to record
all the modification to the scripts. Additional details can be found in
section 4.2.7.
z Test Script Import Block
The test scripts build upon the NITE platform and are written in python.
Python is an Object Oriented programming language, thus python
supports objects. These objects are defined in terms of classes. Each
class should be well designed and a common base class will be imported
into each test script. Each test script should also import all the necessary
utility classes and super classes.
z setTcData Block
Each test case maps to a specific verification specification in the FVS.
Each of these explicitly states the required test configuration. The
setTcData() method of the NITE platform checks to see that the tests
precondition is met. The precondition is defined in the FVS. All of the
setTcData fields present in the example below are mandatory for all test
scripts.
25
Example:
def setTcData (self) :
return {
'tcTag'
:'RBS_I&V_49E_D.N.0461',
'tcName'
'comment'
: 'Tested',
'status'
: 'RELEASE',
'rbsType'
: 'ALL',
'rbsSubType'
: 'ALL',
'rbsConfig'
: 'HS',
'rbsSw'
: 'P6-',
'nbapVer'
: '6.9-',
'niteVer'
: 'R34C-',
'extConfig'
: 'RNCSIM,MSSIM,MDL'
'transmissionType'
: 'ALL',
'transmissionProtocol' : 'ALL'
'rbsUeConnections'
: 'S1C1'
Note 1: Use only status: RELEASE for test cases intended for regular
use, i. e., regression testing.
Note 2: Only one test case shall be included in the tcTag field. As the
result from each test must be reported per test case, this should provide a
unique identifier for each test case. (The identifier will be generated by
IBM Rationals ClearCase tool [21]).
z TcData field descriptions
The TcData fields describe the precondition(s) for the test case to be run,
comments, and information about the test case information. These
determine if the script should be run. Most of these fields support an
ALL option, indicating that the script can handle any value in this
particular field. Note that string values in python are delimited by single
quotes.
A field can contain multiple comma separated values. Specifying
multiple values means that the precondition is satisfied if the actual value
is any one of the values specified. For example, if the nbapVer field is
4.6, 6.9', this means the script applies to two cases; when the NodeB
Application Protocol (NBAP) version is 4.6 or 6.9.
If a TcData field is empty, this is equivalent to the value ALL.
However, to make the scripts consistent and easier to maintain, it is
recommended that all fields are defined, thus this field should be
explicitly set to ALL.
26
Field name
tcTag
Description of field
Remarks
Informational
case.
Example: 'RBS_I&V_7N_R.1.N.1'
tcName
Informational
Informational
Informational
Usual values:
'RELEASE' : The test script is finished and meant for
regular use, i.e. regression testing.
'DEVELOPMENT' : The test scipt is currently under
development and should not be used for regression
testing.
rbsType
rbsSubType
RBS Subtype.
Supported values: RBS2, RBS3, RBS4, and ALL
rbsConfig
carriers.
sector x carrier
Supported values:
27
HS
EUL_2MS_TTI
TX_DIV
MIMO
RET
ASC
ALL
included.
The value HS indicates that
the script needs an HSDPA
[7]
capable RBS.
EUL_2ms_TTI means
enhanced uplink with 2
milisecond transmission
intervals, thus a RBS must
support this type of carrier.
These features are defined in
3GPP specification.
rbsSw
Example:
'P4-': Script supports revisions from project P4
onwards.
'-P5': Script supports revisions up to and including P5.
'R2A-R2D' : Script supports revisions between R2A
and R2D.
on the node.
Moreover, a dash ('-') should
be used if trying to specify
that that the script supports
up to a revision.
nbapVer
Nbap version
Example 4.6-, 5.9-, 6.9- and ALL
niteVer
extConfig
HS stands for HSDPA resource required, EUL_2MS_TTI stands for enhanced uplink 2mili-seconds transmission interval, TX_DIV stands for Tx Diversity,
MIMO stands for Multi antenna output/input, RET stands for Remote Electronic Tilt unit required, ASC stands for Antenna System Controller required, All
means no special configuration required
28
Supported values:
RDBTH
MDL
MSSIM
RNCSIM
FCCU
msConfig
transmissionType
transmissionProtocol
Supported values:
later in P6.
IP
ATM
IP_ATM
ALL
rbsUeConnections
29
S2C1
S3C1
...
test case should be stored in an action stack. At the end of each test case,
the restore process will run the opposite action in reverse order according
to the action stack. If the restoration procedure fails, an exception will be
raised to warn the tester and a RBS restart operation should be
performed.
Note that inverting the actions to return the RBS to a given state is
preferable to performing a restart because in live network, the RBSs are
not frequently restarted with those operations. The RBSs stable working
status must be remained until something goes wrong.
z Restart RBS
For the test cases that change the RBS configuration, these changes will
not be saved after the test cases execution. In another words, any (new)
settings are temporary. Ericssons WRBS setting parameters are stored
in a file called the configuration version. Thus, changes in parameters
will not be saved permanently in the configuration version file, but only
modified for the current test case. After a RBS restart, the unsaved
changes will be erased (i.e., they will not become permanent changes).
This makes it possible to restore a RBS to a known initial state after a
restart operation. The restart operation can be invoked by calling the
NITE function AL_API_restartrbs(). After the RBS restart, to ensure that
the next test case runs smoothly, this new test case first checks the
RBSs status and will continue to execute the test case only after the
RBS software has been re-loaded and all the relevant components in the
RBS have been properly configured.
5.2.3 Legacy Regression Suite Usage
Within Ericssons WRBS I&V department, the test scripts are integrated in a test
suite called the legacy regression suite. When testers upgrade an RBS with the latest
software build, they start their testing with the legacy suite to verify that the legacy
functions generate the same output as previously. Currently, the legacy regression
suite takes serveral hours to run the entire suite (including time to log any errors).
Usually, the testers start the regression test in the
results of this test suite the next morning. Given these
report their result(s) in a database and analyze all of
problem with the RBS software or with the test script
should be submitted indicating where there is a problem.
--testsuite=TestSuite \
--clearLogDir --nbapver=6.9
Run a Object of the Test Suite
--testsuite=mbdSuite \
--clearLogDir --nbapver=6.9
mbd_R4N3.Test
--nbapver=6.9 --testcase=mbd_R4N3.Test
32
33
6.2 Money saved by avoiding the error slipping into the next stage
There is a factor of two (based on earlier figures from the WBTS project[8]) in
increased cost - if a potential problem propagates to the next stage. Therefore, if the
problem remains undiscovered beyond the current stage, then the cost of finding this
problem will increase even more. The automated test tool is designed to give a daily
indication of the softwares current status. During the development phase, legacy
regression testing provides an indication of the softwares status. Although, not all
failures of legacy tests lead to trouble reports, the automated tests give the developers
a heads up of the softwares status, while providing project management with
information related to the planned software deliveries to the subsequent stages of the
development chain (or delivery to the end user).
Moreover, some of the faults that legacy testing may detect, might never have
been found during manual verification (i.e., as manual verification or
integration testing may not perform the same functional tests) or only found at a later
stage in the development and testing chain (or after deployment at the customers site,
i.e., in the operators network). Detecting these faults during the development phase
by using automated tools greatly decreases the cost of errors. By stopping problems
from reaching the live network, a large costs savings can be achieved and the risk
associated with an upgrade is reduced.
34
Measurements show that the automated testing is up to twelve times more efficient than the manual regression test within the
35
200
150
Outcome
100
50
0
8
9
/0
0
c/
n
ja
de
0
v/
t/0
no
ok
08
08
g/
p/
se
au
8
l/0
ju
8
/0
/0
aj
r/0
n
ju
ap
Figure 8: Increase in the number of test cases of the automated test tool as a function of time.
This thesis project accomplished its basic goal of automating part of the
regression testing in Ericsson WRBS I&V. However, there remains additional work to
be done some of the most immediate work is described in the next section.
can be automated. Thus the introduction of automated testing will supplants more
than 70% of all the previous manual test cases, but has enabled these 70% of tests to
be run daily - rather than only once over the entire testing cycle for a given release!
37
References
[1]
[2]
Armstrong Process Group, Inc., Test Case Design with UML, Course
description, Armstrong Process Group, Inc., New Richmond, Wisconsin,
USA, 15 June 2006
http://www.aprocessgroup.com/training/pdf/APG_TestCaseDesign_Course
Desc_01_0804_v2_0.pdf latest visit 2009.02.01
[3]
[4]
Yuanfang Cai, Sunny Huynh, Tao Xie: A Framework and Tool Supports for
Testing Modularity of Software Design
http://www.cs.drexel.edu/~yfcai/Papers/ASE2007.pdf lastest visit
2009.02.02
[5]
Martin Pol, Ruund Teunissen, and Erik van Veenendaal, Software Testing
A Guide to the Tmap Approach, ISBN 0-201-74571-2, published by Person
Education Limited, UK, 2002
[6]
Erik van Veenendaal and Martin Pol, A Test Management approach for
structured testing, Published in Achieving Software Product Quality, Erik
van Veenendaal and Julie McMullan (eds.), UTN publishers, Den Bosch,
The Netherlands, 1997. http://www.improveqs.nl/pdf/tmap.pdf
[7]
Gunnar Kalsson, NITE TestScript Design Rules, 1/102 60-CXC 124 1020+
Uen, Ericsson Internal Document
[8]
[9]
[10]
Harri Holma and Antti Toskala (Editors), WCDMA for UMTS: Radio Access
for Third Generation Mobile Communications, Wiley Technology
Publishing, First edition, June 2000, 344 pages, ISBN-10: 0471720518 and
ISBN-13: 978-0471720515.
[11]
Erik Dahlman, Stefan Parkvall, Johan Skold, and Per Beming, 3G Evolution,
Second Edition: HSPA and LTE for Mobile Broadband, Academic Press,
Second edition, October 2008, 648 pages, ISBN-10: 0123745381 and
ISBN-13: 978-0123745385.
[12]
Rosaline Makar, "Get started with unit and component testing using IBM
Rational tools: A comprehensive guide for unit and component testing",
38
[13]
[14]
[15]
[16]
[17]
[18]
[19]
Python community, "pylint 0.16.0: python code static checker", web page,
Python Software Foundation, http://pypi.python.org/pypi/pylint - last
accessed 2009.02.01
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
Peter Farrell-Vinay, Manage Software Testing, CRC Press, 2008, 600 pages,
ISBN 0849393833, 9780849393839.
[29]
[30]
40
TRITA-ICT-EX-2009:4
www.kth.se