Case Study: PCRF Regression Testing

Way back in the day, if you were on the go and needed to make a phone call, you kept your eyes peeled for the nearest payphone. You would drop in your coins and the operator would connect you to your desired call recipient.

After the time you paid for had run out, a live operator would butt in and let you know that in order to extend your call you needed to add more money. Today, the idea of something like this happening during a VoLTE call seems a little bit absurd.

But in point of fact it represents a need that all telco operators still grapple with: real-time provisioning of services based on what the user has actually paid for.

Back in the day, this happened by way of live operators, who were later replaced by automated operators. Of course, with the rise of mobile telephony and mobile data usage, no one expects to experience a literal service interruption in this same way.

But network providers still need a way to monitor subscriber voice and data usage in real-time. Hence the rise of the Policy and Charging Rules Function (PCRF) as a key component in most EPC and LTE networks.  

What is PCRF?

Okay, first things first: what exactly is PCRF, and why do testers need to worry about it? Essentially, PCRF is a software function within a multimedia network that’s designed to manage subscriber policies and charging rules as users make use of data and voice services.

The PCRF server is located within the core network, with access to subscriber data and policy servers, and it creates rules and enforces policies for any subscribers accessing your network.

Based on each user’s quality of service (QoS) level (as determined by accessing the relevant policy in the server), PCRF will provision, route, and prioritize services and network traffic as appropriate.

This is, in some ways, analogous to the live operator on the payphone directing traffic and monitoring usage—but operating on a much more granular, sophisticated level.

If, for instance, a subscriber is using high bandwidth applications and running through huge amounts of mobile data, the PCRF can implement a policy decision (via connection with OSS/BSS systems) to charge the user appropriately.

By the same token, it might identify that a user is connected to roaming service and thus impose slower up/downlink speeds for certain apps.

In this way, telco operators are able to work towards a few goals:

  • Dynamically provisioning bandwidth based on QoS personas (to improve overall network quality for users)
  • Improving revenue assurance with real-time charging rules
  • More effectively providing differentiated levels of service
  • Managing network traffic in a more efficient manner.

Based on the above, it’s pretty easy to see why PCRF is a key element of most EPC networks. That said, the nature of this kind of functionality can present challenges for the testers who are tasked with verifying service across the entire network.

Challenges in PCRF Testing

Naturally, all of the potential QoS and revenue benefits we described above only occur if the service actually works. This leaves testers with the complex task of testing proper functionality for every QoS persona in their subscriber database.

If, for instance, you have two dozen possible policy levels, each one with a different set of restrictions and requirements, you need to create two dozen dummy subscriber accounts that correspond to the different QoS policies, and assign each one in turn to a subscriber phone.

For each test case, testers need to initiate a packet session and run through the gamut of potential data-usage scenarios, in order to verify that the PCRF creates and carries out the correct policy decision on each one.

Of course, testing this functionality is hardly a “one-and-done” kind of use case. On the contrary, any change you make to your network could result in changes to the PCRF and its protocol elements, meaning that all of the effort we outlined above has to be replicated via regression tests each time you update your network. You need to make sure that as each packet session is properly set up:

  • A request is sent to the PCRF
  • The PCRF successfully accesses and queries the subscriber profile database
  • The PCRF installs subscriber and policy rules before the session is established
  • If the user begins to exceed session credits, the PCRF is notified again
  • Once notified, the PCRF consults the policy and issues additional credits as appropriate, while prompting a notification (e.g. an SMS message) to the subscriber.

And all of this has to be verified at every QoS level. Unsurprisingly, test cases pile up pretty quickly.

The Power of Test Automation

In SEGRON’s experience, the most effective remedy for the mountain of test cases that can come with PCRF regression testing is to automate as much of your testing as possible. And, in fact, we recently helped a client (a leading European operator) to do just that.

Previously, because of the depth and complexity of performing regression tests for these test cases, it would take about 4 days to run through a slate of 20 extremely granular test cases—which they had to do every time they made an update to their network.

This clearly wouldn’t be feasible in the long run, so they turned to the SEGRON ATF (Automated Test Framework) to automate their regression tests.

Rather than using simulated or rooted devices, SEGRON was able to orchestrate tests in a complex test environment using out-of-the-box Android and iOS devices within about a day.

From there, their test cases were scripted up in a keyword-based framework, at which point they were able to run through all 20 priority-1 within about half an hour. This represented a reduction in test time of more than 98%—meaning that the company could now quickly and easily run PCRF regression tests even after relatively minor changes to their networks.

Combine this reduction in test time with an increase in readability of reports, and the test team was suddenly able to find the root causes of any bugs that much more quickly.

From there, they were able to fix bugs and refocus their attention on more value-additive tasks, helping to improve the company’s overall allocation of resources, resulting in improved time-to-market and ROI.

Search

Interested in our Products ?

Scroll to Top
Segron logo black blue

Senior SaaS System Administrator

Technical Skills :
  • Oversee the sysadmin related tasks in our SaaS infrastructure (partially cloud based, partially bare metal)
  • Daily operation and maintenance of the system
  • Analysing and resolving incidents
  • Follow and help improving the incident and change management procedures
  • Design procedures for system troubleshooting and maintenance
  • Incorporating base OS updates and security patches
  • Ensure that systems are safe and secure against cybersecurity threats by raising change requests where potential threat is possible
  • Performing SW updates for the Segron SaaS SW stack (distributed architecture with clusters)
  • Configuring solutions like reverse proxy, firewalls, etc.
  • Building tools to automate procedures & reduce occurrences of errors and improve customer experience
  • Tutoring & coaching newcomers & less senior experts in the team
  • Interworking with the architects and IT admins of Segron to have the SaaS procedures inline with the Segron processes
Non-technical skills:
  • We are looking for a self-motivated, self-improving individual with a highly independent mindset and open and straightforward technical communication to help us to improve and maintain our cloud infrastructure of our powerful end-to-end testing solution ATF (Automated Testing Framework)
  • 3+ years hands-on experience with operation and monitoring of cloud / linux systems
  • 3+ years of hands-on experience with network devops elements: configuring routers, switches, networks
  • Hands-on experience with running live systems with infrastructure as a code mode of operation
  • Specific knowledge which brings direct advantage: Docker, Docker Compose, Grafana, Prometheus, Ansible, Debian Linux OS administration, Security
  • Experience in building and maintaining distributed systems (incl. redundancy, resiliency, load-balancing) is welcome
  • Excellent knowledge of English
Location :
  • Place of work: Bratislava (partially home office possible)
  • Rate: from 30 EUR/hour (possible higher rate, depends on experience)
Segron logo - The Next Generation of Active Testing
Segron logo black blue

CI/CD Senior Developer

Technical Skills :
  • A senior role with a proven expertise in software development, cloud computing, DevOps, and CI/CD
  • Experience in planning, designing, and overseeing the CI/CD strategy and architecture on the level of organization
  • Ability to tailor testing strategies which define and follow the best practices, standards, and policies for the software delivery process
  • Hands-on experience in creating and managing CI/CD pipelines and workflows (PaaC)
  • Ability to evaluate and recommend the best tools, technologies, and methodologies for the CI/CD implementation
  • Prior hands-on experience working with different CI/CD toolsets (Jenkins, Bitbucket, GitLab, artifactory, Ansible ..)
  • Proficient with DevOps tools API automation capabilities
  • Proficient with Atlassian Tools (BitBucket, Jira, Confluence) and agile SW development methodologies
  • Familiar with cloud patterns and best practices
  • Familiar with web performance best practices
  • Comfortable working in cloud DevOps ecosystem
  • Comfortable working with Linux platforms
  • Initial working experience in SW development is an advantage.
Non-technical skills:
  • Effective communication with technical as well and business stakeholders
  • Self-motivating, self-improving mindset
  • Ownership of relevant industry certificates is a plus
Location :
  • Location: Bratislava, Slovakia (with hybrid flexibility)
  • Rate: from 30 EUR/hour (possible higher rate, depends on experience)
Segron logo - The Next Generation of Active Testing
Segron logo black blue

Test Automation Engineer

Job description, responsibilities:

Hardware Testing: Conduct verification and testing of hardware during the HW/SW products
assembly process.
Technical Support: Provide technical assistance during testing activities and troubleshoot any
hardware issues that arise. Support to internal teams and customers by managing priorities and
meeting deadlines.
Equipment Maintenance: Configure and maintain SEGRON laboratory and customer equipment.
Logistics Support: Handle hardware ordering and logistics.
Troubleshooting: Analyze and resolve SEGRON product issues through effective problem-solving.
Ability to troubleshoot and resolve issues that arise during the integration process.
Collaboration: Work with the SEGRON Development Team on product or software issues and assist
the Project Team with planned activities.
Root Cause Analysis: Investigate production errors to identify underlying causes.
Software Deployment: Implement software updates and fixes.
Team Collaboration: Ability to work collaboratively in a team environment, especially in serving global
customers.

Requirements/ Skills:

Networking knowledge: Understanding TCP/IP networks and LAN/WAN configurations. Routing and
switching and related protocols strongly desired.
Hardware Proficiency: Understanding of hardware components, including servers, routers, and
peripherals, to ensure proper assembly and integration. Experience in data centers is a plus.
Travel Abilities: Willing to travel for customer on-site support for hardware installations, migrations,
upgrades, troubleshooting, etc. (few times a year, 3-5 days)
Hand Tools: Proficiency in using hand tools like screwdrivers, pliers, crimpers, and punches for
assembling and disassembling components.
Operating Systems: Knowledge of Linux and Windows. VM experience (Hyper-V, VMWare, Oracle
Virtual Box, Proxmox etc.)
Tools Proficiency: Basic understanding of Ansible.
Telecommunications Experience: Previous experience in the telecom sector is a plus.
Education: Degree in Computer Science/Engineering or equivalent work experience.
Experience: At least 2 years of relevant work experience preferred. A strong desire to continuously
improve skills and knowledge in hardware and software integration, with an openness to feedback and
new ideas. Key is openminded person willing to learn fast in great team.
Communication Skills: Effective oral and written Eng

Others:

• Full time job (employment)
• Onsite work during onboarding period, then it can be 3 days onsite, 2 days home office
Offered salary: from 2000 Euro (depends on seniority and skills level)
Variety of financial benefits
Place of work: Bratislava

Segron logo - The Next Generation of Active Testing
Segron logo black blue

Senior Python Developer

Technical Skills :

  • A solid, experienced SW developer with at least 10 years of experience in active SW development in different programming paradigms
  • Minimum 5 years of professional Python development experience
  • Master or college degree from Computer Science, Mathematics or STEM domain
  • Well educated in design and programming patterns that increase software’s efficiency and readability.
  • Very good analytical and problem solving skills.
  • At least three skills out of the following 4 skills are requested:
    • Microservices based architectures (Docker containers)
    • Linux
    • Ansible
    • Robot  Framework
  • Comfortable with sysadmin and DevOps skills (Ansible, YML files, Network Programming, IP protocols, designing and developing proxy servers for different protocols – example: streaming, integrating and compiling third party libraries on Linux (Debian))
  • Proficient with Atlassian Tools (BitBucket, Jira, Confluence) thorough understanding of Git and version control best practices
  • Familiar with cloud patterns and best practices
  • Familiar with web performance best practices

Non-technical skills:

  • Ability to work under pressure
  • Ability to abstract and explain your work
  • Strong understanding of Agile development process and experience working in an agile team
  • Strong communication skills with both technical and non-technical stakeholders
Location :
  • Bratislava, Slovakia (with hybrid flexibility)
  • Rate: from 35 EUR/hour (possible higher rate, but depends on experience)
Segron logo - The Next Generation of Active Testing