Applying Test Automation to GSM Network Element - Architectural Observations and Case Study
Total Page:16
File Type:pdf, Size:1020Kb
Lasse Löytynoja Applying Test Automation to GSM Network Element - Architectural Observations and Case Study Master’s Thesis in Information Technology September 5, 2018 University of Jyväskylä Faculty of Information Technology Kokkola University Consortium Chydenius Author: Lasse Löytynoja Contact information: lasse.m.loytynoja@jyu.fi Phonenumber: 045 2736112 Title: Applying Test Automation to GSM Network Element - Architectural Obser- vations and Case Study Työn nimi: Testausautomaation soveltaminen GSM-verkkoelementin ohjelmistotes- tauksessa - Arkkitehtuuriset havainnot ja tapaustutkimus Project: Master’s Thesis in Information Technology Page count: 64+0 Abstract: This thesis examines functional test automation and potential risks that may lie in its architecture. The environment of the thesis is a component of the GSM network. The first chapter examines overall testing, test automation, testing levels and techniques. Next, the structure of the GSM network, its components and working principles are presented. Finally, based on literature and the author’s own work experience, the common problems in test automation are presented and detailed solution are suggested for each one, with case examples. Suomenkielinen tiivistelmä: Tutkielmassa tarkastellaan funktionaalisen testauk- sen automatisointia ja sen arkkitehtuurissa mahdollisesti esiintyviä riskejä. Toim- intaympäristönä on GSM-verkon komponentti. Aluksi tarkastellaan testausta, tes- tausautomaatiota, eri testaustasoja sekä tekniikoita. Seuraavaksi tutustutaan GSM- verkkoon, sen komponentteihin ja toimintaan. Lopuksi esitellään testausautomaa- tiossa mahdollisesti esiintyviä ongelmia kirjallisuuteen ja tekijän omaan työkoke- mukseen perustuen, sekä niiden ratkaisuja yksityiskohtaisin tapausesimerkein. Keywords: GSM, Functional testing, Telecommunications, Test Automation Avainsanat: GSM, funktionaalinen testaus, matkapuhelinverkot, testausautomaatio Copyright c 2018 Lasse Löytynoja All rights reserved. Glossary 2G Second generation of wireless telephone technology A interface The interface between BSS and NSS Abis interface The interface between BTS and BSC Air interface The interface between MS and BTS Ater interface The interface between BSC and transcoder BCF Base Control Function BTS Base Transceiver Station BSC Base Station Controller BSS Base Station Subsystem CEPT Conférence des Postes et Telecommunications CI Continuous Integration DX 200 The digital switching platform of Nokia Networks EDGE Enhanced Data rates for GSM ETSI European Telecommunication Standards Institute E-GSM Extended GSM Gb The interface between BSS and SGSN GPRS General Packet Radio Service GSM Global System for Mobile Communications HLR Home Location Register IMEI International Mobile Equipment Identity IMSI International Mobile Subscriber Identity LA Location Area mcBSC Multicontroller BSC MML Man-Machine Language MS Mobile Station MSC Mobile-Services Switching Centre MSISDN Mobile Station International ISDN Number i MSRN Mobile Station Roaming Number NSS Network Switching Subsystem O&M Operations & Maintenance OSS Operations Subsystem P-GSM Primary GSM PCM Pulse Code Modulation PSTN Public Switched Telephone Network R-GSM Railway GSM SGSN Serving Gateway Support Node SMS Short Message Service SSH Secure Shell TDMA Time Division Multiple Access Testware Software tooling used in testing TMM Testing Maturity Model TMSI Temporary Mobile Subscriber Identity V-model A software development process VLR Visitor Location Regiter ii Contents Glossary i 1 Introduction 1 2 Software Testing 3 2.1 Software testing overview . 3 2.1.1 Software quality . 3 2.1.2 Errors and Defects . 5 2.1.3 Test Activities . 6 2.1.4 Software Testability and Instrumentation . 8 2.2 Software Testing Levels . 8 2.2.1 The V-Model . 9 2.2.2 Acceptance testing . 9 2.2.3 System Testing . 11 2.2.4 Integration Testing . 11 2.2.5 Unit Testing . 11 2.2.6 Other Testing Levels . 11 2.2.7 Regression Testing . 12 2.3 Software Testing Techniques . 13 2.3.1 Black and White Box Testing . 13 2.3.2 Other testing techniques . 13 2.3.3 Fault based techniques . 14 2.3.4 Usage-based techniques . 15 2.3.5 Model-based techniques . 15 2.3.6 Techniques based on nature of application . 15 2.4 Software Test Automation . 15 2.4.1 Requirements of the organization . 18 2.4.2 Continuous Integration . 19 2.5 Software Testing Maturity Model . 20 2.5.1 Maturity levels and goals . 21 iii 3 The GSM Network 24 3.1 History . 24 3.2 Present and future . 26 3.3 Technology . 27 3.4 Mobile Station . 32 3.5 Base Station Subsystem . 32 3.5.1 Base Transceiver Station . 33 3.5.2 Base Station Controller . 33 3.6 Network Switching Subsystem . 35 3.7 Operations Subsystem . 37 4 Nokia implementation and test process 38 4.1 DX 200 platform . 38 4.2 Base Station Controller . 39 4.2.1 Software . 42 4.2.2 User interfaces . 42 4.3 Operations & Maintenance Functional Testing of the BSC Software . 43 4.4 Holistic Integration Tester . 44 4.5 Test Automation Framework . 45 4.6 Test Automation Process . 45 4.6.1 Test automation infrastructure . 46 4.6.2 Extending the framework . 48 5 The Suggested Structure of Automated Test Cases 49 5.1 Problems faced with test automation . 49 5.1.1 Test-case portability . 49 5.1.2 Script-to-script dependencies . 51 5.1.3 Test Setup and Teardown Handling . 53 5.1.4 Test libraries and user interface abstraction . 56 5.1.5 Complexity and Execution time of test cases . 58 5.2 Chapter Summary . 59 5.3 Supporting findings in another project . 60 6 Summary 61 References 62 iv 1 Introduction The objective of this master’s thesis is to recognize the special features and problems in test automation of Nokia’s 2G BSC (base station controller) O&M functional test- ing environment. The goal is to suggest solutions to the issues and use them as basis to develop a streamlined, common architecture for automated test cases which can be used to improve their consistency and maintainability for the testing organiza- tion. The need for this kind of architecture emerged during the author’s own work as a testing engineer of the subject. The task was to introduce the test automation to testing organization and to train and support colleagues in its use. The author cre- ated a basic architecture for the initial ramp-up trainings, but when all requirements were finally clear, it proved to be insufficient and needed further development. This resulted as tedious test code refactoring work, in which all implemented test cases would use the new model that would provide benefits of transportability and bet- ter maintainability. Without even the support and boundaries of basic architecture, the results would have been a large mass of unmaintainable, non-transferable and frequently recurring test code. This thesis aims to provide a more complete and motivated architecture. The theoretical part is based on literature, some industrial reports of same type of test automation environments, and some training materials. It describes soft- ware testing and test automation, GSM network structure and operation and finally the network elements of the base station subsystem. Much of the background also comes also from the author’s own working experience on the subject during 2012- 2015, the last position being a thesis worker for the Tampere unit. This thesis is made per request of Nokia Networks. The main question this thesis attempts to answer is: • What are the requirements to automate O&M functional testing of the GSM base station controller for the test automation? Are the automated test cases able to benefit from common architecture and what would it look like? The supporting questions are: • What are the factors that affect the maintainability of the automated test case? 1 • What are the factors that affect the execution time of the automated test cases? • What are the factors that affect the the transportability of the automated test case? The research of software testing and test automation is done mainly by reading academic and other professional literature. Information about the test automation and the BSS domain at Nokia is obtained through having worked with the product for several years. The architectural plan is supported by the theoretical background of testing and reviewing academic literature and case studies of similar testing en- vironments. Chapter 2 defines the software testing and the software quality. We will take look in errors and defects and basic test activities. Test metrics and software testability are also discussed. The chapter also introduces Boehm’s V-model and the basic lev- els of software testing, describes regression testing and its role and costs in software development and explains the different software testing techniques. The latter sub- chapters define test automation and its role in modern software development, and briefly introduces the software testing maturity model and the associated maturity levels. Chapter 3 defines the GSM network history from past to present, and the ba- sic structure of the network, with focus on the base station subsystem components. Chapter 4 describes the Nokia implementation of GSM networks, the DX200 plat- form and the structure of the base station controller. The chapter also provides an overview of the functional O&M testing of the base station controller. Chapter 5 de- fines the issues faced during test automation process and the suggested solutions. Chapter 6 summarizes the thesis. 2 2 Software Testing This chapter contains the definition of software testing and software quality in gen- eral. The first subchapter briefly reviews verification and validation, as well as er- rors and defects in software and their common causes. Common test activities and the factors that make software more testable are also discussed. In second subchap- ter, software testing levels are described with support of the V-model. The third subchapter describes software test automation and discusses what it requires from the testing organization. It also introduces rudimentary method called continuous integration. The fourth subchapter discusses the software testing maturity model, which aims to define the level of maturity of a software testing process in an orga- nization.