CACI International Test Engineer in Charlottesville, Virginia
What You’ll Get to Do:
CACI is looking for a Test Engineer to be responsible for determining the optimal approach to testing complex software solutions built for containers and the Cloud in a continuous integration environment with a heavy emphasis on automated testing. This includes identifying and recommending product or solution characteristics that will optimize the team’s ability to test the total system solution thoroughly and with maximum code coverage and with the best opportunities to surface defects early. The Test Engineer is expected to combine customer contractual needs and requirements into system test solutions that acknowledges technical, schedule, and cost constraints. Develops and executes preparations for test events and live test demonstrations, including those for the purposes of security auditing processes in pursuit of achieving system ATO. Coordinates with developers to execute integration activities. Reviews and evaluates requirements and weighs in on whether the requirements are written so that they are testable or recommends edits and rewrites for those requirements until they meet the testability rubric.
The Test Engineer will require skillsets in two domains. The Test Engineer should be capable of scripting automated test events and regression tests in Selenium or some other recommended automated testing framework that allows for verification of code at the UI layer, including misuse and abuse cases such as injected malformed data that should knowingly not pass data validation for user data entry. The Test Engineer should also be capable of coding test harnesses and simulators that will respond correctly and incorrectly to stubbed out APIs and other interfaces, as well as auto-generators that can generate large amounts of test data in the correct data structure as prescribed by an interface spec or the data model design for those instances where a database is required but the actual production data is classified and cannot be deployed to the development environment.
The other domain where the Test Engineer must be knowledgeable is in formal test design, test theory, and test methodologies. A list of topics that the Engineer should be familiar with follows:
Black Box Testing
Equivalence Class Testing
Boundary Value Testing
Control Flow and Data Flow Testing
Calculating the total # of test cases that are required to verify a body of code and the # of iterations of those test cases that must be removed to achieve a designated % of defect removal
Static vs Dynamic Testing Techniques
Code Quality Metrics (Code Modularity, Cyclomatic Complexity, Cohesiveness vs Tight Coupling, Test Effort Estimation and duration, Defect Modeling and Estimation)
Candidates who are primarily or solely experienced in one of the two domain skillsets are still encouraged to apply as we may hire two test engineers, each with skillsets in one of the two domains prescribed.
The Test Engineer will report to the Lead Engineer and Software Architect and be a key player on a team implementing an open and flexible architecture, along with accompanying mission applications, from concept to production. After completion of the requirements phase, the Test Engineer will leverage their experience to design, implement and deploy test frameworks, SIM/STIM components, and test harnesses and fixtures that will support verification of the finished solution. The Test Engineer will be a member of an agile development team based primarily in Charlottesville, VA.
More About the Role:
Implement prototypes and investigate best design approaches to in-development requirements in a fluid, flexible, responsive environment. Be ready to pivot and innovate
Transform complex customer requirements into working, maintainable solutions via evolution of introductory through near-complete solution prototypes
Design, develop, and implement web-enabled applications using a variety of modern technologies
Produce artifacts detailing the software test design, potentially including UML or SysML-style diagrams
Utilize third-party software development frameworks for testing, open-source libraries, and API's to rapidly develop basic application testing solutions
Adapt commercial off-the-shelf and government off-the-shelf solutions to meet government customer needs and requirements
Work in a collaborative, agile team environment
Be willing to work in new, and potentially uncomfortable frameworks and methods; be flexible and open to both formal and informal methods; be willing to offer and then validate your recommendations with science, math, case studies, standards body recommendations, or academic proofs; no technology evangelists or unsupported declarations
You’ll Bring These Qualifications:
Ability to effectively prioritize and execute tasks in a high-pressure environment
Strong customer service skills and customer relationship management experience
Familiarity with Agile software development methodology, processes, and techniques
Experience with UML / SysML or other MBSE approaches, & the ability to create the appropriate artifacts
Experience with automated testing methods and formal test methodologies
Ability to learn at a fast pace and be able to rapidly learn and leverage third-party tools, SDKs, and APIs
Excellent organization, communication and writing skills, and have the ability to express yourself in technical discussion via strategy, implementation and design of application environments
Excellent teamwork and collaborative skills, with the ability to lead and manage the effort of others when necessary
U.S. Citizen with active TS/SCI clearance (will require CI Polygraph)
Typically requires bachelor's degree or equivalent and greater than 4 years of related work experience.
These Qualifications Would be Nice to Have:
Familiarity with some or all of the following: JIRA (including the Test and Quality plugins Zephyr, Fisheye, and Crucible), Subversion, USG IA development and security standards.
Successful candidate will be imaginative, responsive and be able to communicate well with users.
What We Can Offer You:
We’ve been named a Best Place to Work by the Washington Post.
Our employees value the flexibility at CACI that allows them to balance quality work and their personal lives.
We offer competitive benefits and learning and development opportunities.
We are mission-oriented and ever vigilant in aligning our solutions with the nation’s highest priorities.
For over 55 years, the principles of CACI’s unique, character-based culture have been the driving force behind our success.
CACI employs a diverse range of talent to create an environment that fuels innovation and fosters continuous improvement and success. At CACI, you will have the opportunity to make an immediate impact by providing information solutions and services in support of national security missions and government transformation for Intelligence, Defense, and Federal Civilian customers. CACI is proud to provide dynamic careers for employees worldwide. CACI is an Equal Opportunity Employer - Females/Minorities/Protected Veterans/Individuals with Disabilities.