Your Role:
Tenable is looking for a Software Engineer in Test (SET) to join Tenable’s Engineering organization to support our mission of efficient delivery of high quality solutions to our customers' security problems. Focused on enabling customers to detect and respond effectively to new and emerging security threats across their IT landscape, the Tenable engineering organization is working at the cutting edge in this critical security space. In this role, you will be responsible for the testing strategy and execution for a product scrum team, charged with helping your engineering team design and implement the testing tools and infrastructure necessary to ensure that our systems meet our customer’s expectations towards reliability, scalability and performance. You’ll bring in expertise on testing strategy and execution and engage in cross-functional collaboration with other product and testing teams, to ensure consistent processes and tooling across engineering to deliver software of the highest quality.
Your Opportunity:
Create and update test cases and suites for both new and existing features.
Develop automation frameworks and infrastructure to streamline testing processes.
Simulate customer scenarios and network environments for product reliability.
Work with various network protocols like TCP/IP, SNMP, HTTP, and SSH.
Help drive quality improvement projects (automation, manual tests, and bug bounties) to enhance overall product quality.
Collaborate closely with cross-functional team members to achieve quality objectives.Focus on functionality testing and analyze automation test results for continuous improvement.
Learn and implement new technologies to solve unique technical challenges.
Work on the low-level engine of vulnerability scanning.
What You'll Need:
2+ years software testing experience with a focus on functional test definition and test planning, test automation at all levels of the testing pyramid, and scalability and load testing and performance tooling in large scale, distributed systems.
Excellent analytical skills, with experience summarizing test results into meaningful reports to effectively communicate test coverage and code quality, as well as scalability, capacity and performance issues
Experience monitoring for defects and issues post-production, creating observability and logging strategies, and translating findings from production environments into actionable tests in development and staging environments
Solid experience with test harnesses and frameworks, such as pytest, Jest, Jasmine, Spock, Cucumber, etc. and with test automation and testing applications at the API layer, specifically RESTful APIs
Experience in different testing methodologies, such as: behavior-driven testing, synthetic testing, consumer-driven contract testing, unit testing, and integration testing
Experience developing in languages such as Python, Selenium, Groovy and a willingness to learn new languages as needed
Experience in test management tools such as X-ray.
Experience in System/AWS administration, TCP/IP networking, including protocol capture and analysis, system resource monitoring including OS-native tools and popular resource monitoring and log analysis stacks (ELK, TIG stack, Datadog, Splunk) is a plus
Experience with configuration management tools (e.g. Ansible, Terraform, Jenkins), container technologies (e.g. Kubernetes, Docker), event store/messaging systems (e.g. Kafka) is a strong plus
Accountability for the behavior of your team’s software in production
Experience in working in an Agile team, and an enthusiasm for working collaboratively within and across product teams
The ability to work independently and as a part of a team, and to lead/drive projects as necessary
The desire to continuously learn and be exposed to new technologies
BS in Computer Science or directly related field, or equivalent work experience
#LI-MD2
#LI-Hybrid