segron logo

5 Ways to Spend Less Time on Testing

With the advent of new technology like the IoT (Internet of Things) and 5G, the pressure to improve companies’ time-to-market has never been higher. Sure enough, there is likely to be a real first-mover advantage in the coming years for businesses that can roll out new service offerings that take full advantage of sub-millisecond latency times or vast networks of connected devices. As you can imagine, this puts tremendous pressure on testers who have to navigate ever-increasing layers of complexity to verify functionality on their networks. Since testing velocity is such an essential factor in time-to-market, it’s understandable that companies would continuously be on the lookout for cost-effective ways to speed up testing. This often takes the form of automation—which can improve your test throughput from half a dozen test cases per engineer-day to hundreds—but not all automation is created equal. Below, we’ll discuss some of the ins and outs of automated testing, and how specific techniques, mindsets, and tools can speed up testing.

1. Test Continuously

This first suggestion might seem paradoxical, but test velocity is often negatively impacted by the feeling that testing flows must be started from scratch each time a new service offering is coming down the pike. This is partially a question of test case scripting (which we’ll cover shortly), but it’s also a matter of how you organize your test flows. If you’re waiting to reach a critical mass of code before committing it to your network staging environment, you may be more likely to encounter issues and find that some new changes are incompatible with one another, which will ultimately slow down your service rollout. If, by contrast, you adopt a Continuous Integration (CI) mindset—by committing smaller pieces of code and then building and testing them automatically as you go, i.e., testing continuously—you can reduce the probability of errors and ultimately create a more stable service offering and reduce your test cycle time.

2. Eliminate Tests

It’s become something of a commonplace to suggest that the key to successful automation is knowing what to automate. Often, the suggestion here is that you shouldn’t try to automate tests that are better suited to manual workflows. This is undoubtedly true, but with testing, there’s always a risk of doing the opposite: assuming things can’t be easily automated even when they can. Take drive tests, for instance. As a tester, you might wonder how it’s possible to automate something like a fallback to a legacy network, given that manually testing this use case involves long drive tests as testers try to find a weak enough LTE signal that the phone-under-test will initiate the fallback sequence. However, this use case can be easily slotted into an automated workflow by using attenuators to mimic a waning LTE signal. Thus, by making sure you automate the things that can be automated easily (including fallbacks, handovers, roaming, and other mobility-related use cases), you recapture all of the time you would have lost on drive tests.

3. Implement Keywords for Testing

Another commonplace, at least among testers in more traditional software environments, is that modular testing flows can help speed up the verification process. It is clear that if you can reuse elements of your existing tests instead of laboriously script up new ones every time you’re testing a new offering, you can considerably cut down total testing time. The question is, how exactly do you actualize that kind of modularity in a testing environment? One potentially promising option is to adopt keyword-based tests, like the ones powered by Robot Framework. In keyword-based tests, test scripts are built using pre-defined, readable keywords that refer to specific network elements or actions. Thus, instead of writing new test scripts from scratch in some arcana proprietary scripting language, you’re able to reuse existing tests in unique circumstances by swapping the relevant keywords in and out. This has the added benefit of making the test process more accessible to less technical users, all while powering readable reporting that can help you identify root causes that much more quickly.

4. Resist the Temptation to Jailbreak

Above, we talked a little about the importance of knowing what to automate. Now, let’s talk about learning what to virtualize. If you’re taking our initial suggestion and implementing some sort of CI workflow, some Network Functions Virtualization (NVF) will probably come in handy. However, it’s essential to make sure you’re still conducting your tests on real, out-of-the-box smartphones in a virtualized network environment. This means avoiding tests done on virtual phones and steering clear of phones that have been rooted or jailbroken. Why is this so important? Because tiny differences in firmware and other specifications (i.e., the results of hacking into a device to gain root access) can have a significant impact when you’re trying to measure, say, your ability to provide sub-millisecond latency times. As those differences in test results accumulate, your risk of missing network issues increases. Though it might speed up tests superficially in the short term, the long-term impact is that you’ll spend much longer troubleshooting your network, since your new service offerings will be built upon buggy code begin with.

5. Clearly Define Roles and Responsibilities

We tend to think of most issues that impact test velocity as technological issues—but it’s just as crucial to consider the operational elements of quality testing workflows. To wit, one of the things that can most easily slow down verification is confusion over who’s supposed to do what, when. Whatever technology, tools, or techniques you use to test your network and improve your time to market, make sure you have clear guidelines in place for who’s supposed to perform what tests, who’s responsible for root cause analysis, who has access to which test results, etc. Every company is different, but if you have a clear directive and a robust chain of command in place, you’ll be much better positioned to find the testing strategy that works best for you.

Download our latest Test Automation Ebook

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:

  • ATF system configuration, integration, operations & maintenance in customer environments.
  • Building tools to automate procedures & reduce occurrences of errors and improve customer experience.
  • Hardware Verification, Testing and Preparation within the Staging Process.
  • Contribution to customer and service partner technical support across multiple accounts by sufficiently managing priorities and deadlines for own work.
  • Segron Laboratory equipment configuration and maintenance support.
  • Hardware order and logistics support.
  • Problem analysis of ATF issues, troubleshooting and fault correction.
  • Interface towards SEGRON Development Team in case of product or software issues.
  • Interface towards the SEGRON Technical Sales Team to support planned activities.
  • System and Integration documentation and guidelines.
  • Perform root cause analysis for production errors.
  • Deployment of software updates and fixes.
  • Ability to work in a team environment serving multiple global customers.
  • Willing to travel for 3-5 days onsite deployments
Requirements/ Skills:
  • Excellent knowledge of English
  • Operating Systems: Linux, Windows, MacOS
  • Good Knowledge of Containers and Virtual Machines
  • Telco experience welcome
  • Python or other scripting experience or knowledge preferable
  • Educational Qualification: Computer Science/Engineering or work experience equivalent
  • Work Experience: 3-4 years preferred

Others:

  • Full time job (employment)
  • 3 days onsite, 2 days home office
  • Offered salary: from 1800 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