Supervisor: Prof. Jyri Hämäläinen Instructor: Jari Simolin (M.Sc), Nokia Siemens Networks Espoo, 15.12.2009 Jyri Ilama.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Chapter 13 Finalizing Design Specifications Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

The 4 T’s of Test Automation:
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Chapter 20 Software Testing.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
1 jNIK IT tool for electronic audit papers 17th meeting of the INTOSAI Working Group on IT Audit (WGITA) SAI POLAND (the Supreme Chamber of Control)
By Rick Clements Software Testing 101 By Rick Clements
Armstrong Process Group, Inc. Copyright © , Armstrong Process Group, Inc., and others All rights reserved Armstrong Process.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
Making the System Operational
1 Data Link Protocols By Erik Reeber. 2 Goals Use SPIN to model-check successively more complex protocols Using the protocols in Tannenbaums 3 rd Edition.
Electric Bus Management System
Software change management
Are Parametric Techniques Relevant for Agile Development Projects?
S-Curves & the Zero Bug Bounce:
Software testing.
Defect testing Objectives
Testing Workflow Purpose
Test process essentials Riitta Viitamäki,
Eiffel: Analysis, Design and Programming Bertrand Meyer (Nadia Polikarpova) Chair of Software Engineering.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
1 University of Utah – School of Computing Computer Science 1021 "Thinking Like a Computer"
Avionics Panel Go For Luna Landing! Graham ONeil United Space Alliance March 2008.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Page 1 October 31, 2000 An Introduction to Large-Scale Software Development Steve Varnau Core HP-UX Operation October 31, 2000.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Lecture 8: Testing, Verification and Validation
Lecture 6: Software Design (Part I)
Chapter 10 Software Testing
Chapter 11 Software Evolution
Executional Architecture
Addition 1’s to 20.
25 seconds left…...
Week 1.
We will resume in: 25 Minutes.
1 © NOKIA A Process Model of Developing Micro- code for a Network Processor Jani Koski Author: Jani Koski Supervisor: Prof. Raimo.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 20 Systems Operations and Support.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
Automation is What We Do
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Automated Testing for Mobility Management Entity of Long Term Evolution System 5/5/2015 Xi Chen.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Introduction to Software Testing
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
Introduction to Continuous Integration Mike Roberts.
2007 Adobe Systems Incorporated. All Rights Reserved. 1 Joe Berkovitz VP Engineering Allurent, Inc. Continuous Integration with Flex, FlexUnit, and Ant.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Michael Burnside Blog: Software Quality Assurance, Quality Engineering, and Web and Mobile Test.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Program Development Life Cycle (PDLC)
Reusability and Effective Test Automation in Telecommunication System Testing Mikael Mattas Supervisor: Professor Sven-Gustav Häggman Instructor: B.Sc.
With a hint of HP Quality Center Agile development and functional testing: friend or foe? Tom Vercauteren, June 26th, 2009.
Software Quality Assurance and Testing Fazal Rehman Shamil.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
CS223: Software Engineering Lecture 25: Software Testing.
Teaching slides Chapter 1.
Introduction to Software Testing
CS240: Advanced Programming Concepts
Bringing more value out of automation testing
Java & Testing.
Presentation transcript:

Supervisor: Prof. Jyri Hämäläinen Instructor: Jari Simolin (M.Sc), Nokia Siemens Networks Espoo, Jyri Ilama

Testing terminology Test automation process & Benefits of TA UMTS architecture IPA2800 platform Call Management domain Continuous Integration The CI project of Call Management CI FRT pilot project Lessons learned What went wrong? Results and analysis 2

(our) Functional testing Using the system Actually, a script uses a sub system of an individual entity (one, separate network element) The actual, acceptance / system testing is done later in a System Verification phase Regression testing Testing that the software still works after changes are made in some unit 3

4 How can this be achieved? Whats inside the black boxes? Pitfalls to avoid Good practices

The required effort for selecting a set of test cases and executing them takes a few minutes More tests can be executed more often Some cases are even impossible to perform by manual testing Use of resources Repeatability Reusability Simply: Saving resources and time! 5

6 We are interested in RNCs and MGWS

Network elements are complex networks of interconnected computer units, communicating via message connections Network elements have very strict requirements on fault tolerance the five nines availability performance 3G network element platform based on DX200, running in RNCs and MGWs But much more efficient and clearer of its architecture 7

Responsible of all call related operations Setup, release, and connecting of calls Capacity and performance Remaining calls in case of recovery actions E.g. Unit failures 8

A practice of software development, where the members of a team integrate their work very frequently, usually at least daily Whenever an integration is made, it is verified by an automated build to detect possible integration errors as quickly as possible A complex system that involves lots of people, servers, tools and connections working tightly together 9

10

A computer that runs some CI software and executes integration builds whenever software changes are made Tools CruiseControl & Hudson Java-based free software, e.g. Ant, Maven and Rake builds supported Modularity: plug-in support 11

Started in May 2007: only PRB compilation builds in the beginning, unit tests added later No decent FRT software available Hipla: an output report of even hundreds of thousands of lines of plain text, not so nice Summer of 2008: HiBot was designed for running old (Hipla) test cases in a new way HIT2Python translator, all old Hipla code -> HiBot Telnet functions implemented manually, in a hurry, by a person who left the company This was the point where this tool was left in the hands of a summer trainee; me 12

I got HiBot up and running quickly, against all estimates Started implementing and/or debugging all the functionalities Lots of occasional problems with the Telnet connections 13

MGW test cases of Call Resource Handling Other pilots by other teams in Call Management Even more work with correcting all the commands Still random crashes and annoying connection and prompt detection problems External problems IPA Reporting Server Other tools, such as CruiseControl and SVN 14

Test automation problems leading to jams and crashes The old, manual test cases had to be automated properly June 2009: The "Telnet guy" came back The problems were found and defects corrected Time for me to focus on the essential: to find and fix defects in IPA2800 platform I implemented a very useful script 15

A very useful script for investigating results 16

Old manual cases are the most difficult ones Changed outputs of functions: scanning strings If the printout changes a little, does your macro still work? The principle of modularity No hard-coded values Reusability of test cases a Forever-loop is definitely not your friend 17

Consecutive execution A test case should be possible to run in any kind of situation, no matter if there are e.g. other calls already, hanging, or whatever Proper teardowns At the end of test suites, so the execution of a new suite can be started from scratch Execution order Problematic suites: Which first? Possible system breakers as last ones 18

New software: Focus on the essential Critical features/functionality R&D&T should be done instead of R&D And regression testing should be as important as the testing of new features Scrum mode: were too deep inside it. Tasks that are not backlog items wont get enough priority, at least easily Needed: RT sprints or a team dedicated to RT! Close all external problems out of sight Write totally new test cases if possible 19

A stabile, working CI environment for our FRT Real defects are found all the time Also Backlog Item Testing can be done efficiently The "output2report" script was found very useful Good lessons about test automation As well as writing modular, intelligent test cases A very good quality level of the product release! 20

21