Senior QA Software Engineer2018 - PRESENTMedChat
- Hired as the first automation engineer in a fast-paced, early-stage startup environment.
- Worked closely with executive team and lead engineers to establish company SDLC policies and procedures.
- Designed and architected a Java-based framework to automate a web app and various products at the UI, API, and database layers.
- Automated the testing of native/hybrid iOS and Android applications with Appium.
- Configured continuous integration pipelines in Azure DevOps to streamline deployment processes and regression/smoke testing efforts.
- Leveraged the automation framework and infrastructure to develop internal tools to aid in company-wide product testing.
- Built a Slackbot to run integration tests, trigger DevOps pipelines, monitor, and coordinate releases, and track the status of GitHub issues.
- Created load tests on services and WebSocket connections with JMeter to assess capacity, performance, and breaking points.
QA Manager (previously Lead Automation Engineer)2015 - 2018GoFundMe
- Mentored fellow QA team members to provide guidance and to help develop their quality assurance, white-box testing, and automation skills.
- Architected automation frameworks for testing and verifying GoFundMe's services, APIs, UI flows, and data.
- Developed internal APIs/microservices and web apps consisting of helpers, tools, and results reporting for use across all QA and development teams, allowing for quicker and more efficient development processes and testing efforts.
- Configured various CI/CD Jenkins jobs to mitigate the risk of deployments and code changes.
- Automated front-end and data-layer testing, through the use of Selenium WebDriver, PHP/PHPUnit, Java/JUnit, and Bash scripts to verify the correct functionality of the CrowdRise and GoFundMe web applications.
- Wrote data-driven test suites to confirm the correct responses from internal- and external-facing REST APIs and microservices.
- Implemented cross-browser/platform testing via Sauce Labs, BrowserStack, and Appium.
- Contributed to the CrowdRise testing infrastructure by developing new, and improving existing, helper functions/methods and utilities to provide greater test coverage.
- Performed code reviews on merge requests from development and QA teams.
- Troubleshot and debugged the codebase to help determine the source of bugs and defects.
Software QA Automation Engineer2014 - 2015Psychemedics Corporation
Technologies: Software, Integration Testing, Quality Assurance (QA), Git, MySQL, REST API Automation, C#, SQL, Jenkins, Selenium, Java
- Wrote test scripts with Selenium WebDriver, Java, and JUnit in Eclipse for the testing of websites and widgets.
- Generated T-SQL scripts, stored procedures, and custom user code modules to be used by test automation to allow for greater flexibility and effectiveness.
- Utilized Microsoft Visual Studio and NUnit for the writing of unit tests to verify the correct output of individual methods.
- Developed failover and behavior-driven integration tests in C# to confirm that a system of Windows services and web services were properly communicating and producing an expected SOAP API response.
- Deployed MS SQL Server schema and data using Redgate tools and application/service updates using Beyond Compare.
- Tested the accuracy of SSRS reports and their associated stored procedures.
- Managed and coordinated the promotion of the software and the configuration of new environments as the QA lead for the Vector project, allowing for internal and external testing.
- Scheduled the periodic execution of automated tests in Jenkins to mitigate unexpected issues.
Software/Test Engineer2011 - 2014Westinghouse Electric Company
Technologies: Integration Testing, Quality Assurance (QA), MySQL, Software, Perl, SQL
- Served as software engineer and lead test engineer for several of the world’s first AP1000 nuclear power plants located in China.
- Contributed towards project completion during each phase of the software development life-cycle in an agile/scrum environment.
- Designed SQL queries in Oracle SQL Developer to retrieve data from a repository based upon the Oracle Relational Database Management System (RDBMS).
- Created, reviewed, and modified a number of test procedures and scripts prior to formal testing.
- Performed black-box and white-box testing of software to ensure requirements had been satisfied at the unit, integration, and system levels.
- Demonstrated the functionality of software to the customer during acceptance testing.
- Documented defects to monitor the status of test discrepancies and open issues.
- Built test cases for the regression testing of software based on updated requirements and bug fixes.
- Produced test reports to summarize the results of testing efforts.
- Analyzed Excel spreadsheets through creation of formulas to track project progress.