Founded in 1992, Mi-Case is the industry leader in fully integrated offender management software solutions and provides industry expertise and consulting within Criminal Justice and Public Safety systems.
Mi-Case leverages a unique combination of technical, functional and industry specialization as well as partnerships with key software vendors to deliver maximum value add projects.
Position Summary
The QA Analyst/Engineer owns the quality of the features and releases they are assigned. They plan, design and execute tests so that the solution meets functional and non-functional requirements. Testing covers functionality, performance, reliability, security basics, accessibility and compatibility with integrated and legacy systems. They also identify opportunities to automate and use AI-assisted tools to improve test coverage and efficiency. They work within an Agile team and partner with developers, product owners and business analysts. They build quality into the delivery process from requirements review through release .Scope varies by project size and team structure.
Responsibilities
Test Planning and Strategy
- Participate in backlog refinement, sprint planning and requirements reviews. Assess testability, identify risks and ambiguities, and define acceptance criteria early (“shift left”).
- Develop and maintain risk-based test plans and strategies for assigned features and projects, in line with the team’s overall quality strategy.
- Analyze requirements, user stories, design documents and prior releases to identify and prioritize test scenarios. Maintain traceability from test coverage to business requirements.
- Define test data needs and coordinate with development and business analysts to prepare them.
Test Design and Execution
- Design, write and maintain clear, reusable test casescovering functional, regression, integration, exploratory, usability andnegative scenarios.
- Execute manual and exploratory testing, using risk andproduct knowledge to find defects scripted tests would miss.
- Perform API and service-layer testing (e.g., REST/JSONusing Postman or similar tools).
- Write and run SQL queries to validate data integrity,transformations and migrations.
- Verify fixes, and run smoke, sanity and regressionsuites for each release.
Test Automation
- Evaluate the test suite to identify and prioritize automation candidates. Consider repeatability, stability, risk, execution frequency and return on investment.
- Document automation candidates with clear steps, data requirements and expected results, so automation engineers can implement the more the team can build them.
- Collaborate with automation engineers and developers to review automated test coverage, results and failures. Help triage failures and flag flaky or outdated tests.
- Use the team’s automated suites and CI/CD pipeline results to inform regression scope and release readiness.
- Promote sound automation practices, such as the test pyramid, maintainability and appropriate coverage across UI, API and data layers.
AI-Assisted Testing
- Use approved AI tools (e.g., GitHub Copilot, Microsoft Copilot, Claude, Chat GPT) to analyze requirements and user stories, and to surface gaps, ambiguities and edge cases.
- Use AI to draft test cases and test data based on acceptance criteria, then review, refine and validate the output for accuracy ,completeness and relevance.
- Use AI to help draft clear, well-structured defect reports, and to support functional and exploratory testing.
- Apply sound judgment when using AI: verify all outputs, protect confidential and client data, and follow company policy on approved tools.
- Share effective prompts, techniques and lessons learned to help the team adopt AI-assisted practices.
Defect Management and Reporting
- Log, triage and track defects with clear reproduction steps, severity/priority, evidence and root-cause information. Follow up through resolution and retest.
- Contribute to quality metrics (coverage, defect trends, escape rate, automation coverage) and release readiness for the purpose of reporting on testing progress to the team, Quality Manager and stakeholders.
- Take part in retrospectives and root-cause analysis,and recommend preventive improvements.
Collaboration and Continuous Improvement
- Work with developers, product owners, business analysts and client staff to resolve issues and make sure the team understands quality expectations.
- Take part in release readiness and UAT support, and help clients and business users validate solutions.
- Contribute to improving test processes, tooling and automation coverage. Share knowledge, and informally mentor junior team members.
- Support and maintain existing test assets and documentation. Perform other related duties as assigned.
Qualifications
Education and Experience
- Bachelor’s degree in Computer Science, Information Systems or a related field, or equivalent practical experience.
- 3+ years of experience in software quality assurance, including manual and exploratory testing.
- Solid understanding of test automation methodologies, frameworks and tools (e.g., UI, API and CI/CD-based automation), and the ability to identify and prioritize good automation candidates. Hands-on scripting or coding is preferred, but not required.
- Experience with or strong interest in AI-assisted testing, such as analyzing requirements, developing test cases, creating defects and supporting functional testing.
- Experience working in Agile/Scrum teams.
- Solid understanding of the software development lifecycle, the software testing lifecycle (STLC) and testing of multi-tier(web, service, database) applications.
Technical Skills
- Solid knowledge of QA methodologies, test design techniques and defect lifecycle management.
- Proficiency in SQL for data validation and troubleshooting.
- Experience with API testing tools (e.g., Postman ,SoapUI).
- Experience with test management and defect tracking tools (e.g., Azure DevOps, Jira, TestRail).
- Familiarity with CI/CD concepts and version control.
- Working knowledge of performance, security and accessibility testing concepts.
- Familiarity with automation frameworks and tools (e.g., Selenium, Playwright, Cypress) at a conceptual or user level.
- Working knowledge of AI-assisted tools and prompt techniques for QA tasks.
Preferred (not required)
- Experience with performance testing tools (e.g. ,JMeter, k6) or cloud-based environments.
- Experience with government, public-sector or case management systems.
- Exposure to BDD (e.g., Gherkin/SpecFlow/Cucumber).
- Basic scripting ability, or experience contributing toor maintaining automated tests.
Skills and Competencies
- Communication – Explains technical issuesclearly in writing and conversation to technical and non-technical audiences.Reports status, risks and findings concisely.
- Analytical Thinking and Problem Solving – Breakscomplex problems into manageable parts and identifies root causes. Proposespractical solutions.
- Teamwork and Collaboration – Worksconstructively across roles and departments. Respects diverse viewpoints andcontributes to a positive team culture.
- Ownership and Accountability – Takesresponsibility for the quality of their work and their mistakes. Managespriorities and works with minimal direction while delivering timely,high-quality results.
- Attention to Detail – Delivers thorough,accurate work while keeping the end user in mind.
- Judgment and Decision Making – Makes sound,timely, risk-informed decisions, including when information is incomplete. Thisincludes critically evaluating AI-generated output.
- Adaptability and Continuous Learning – Handlesmultiple priorities and changing requirements. Keeps learning new tools,techniques and domain knowledge, including emerging AI capabilities.