Christina Lin
Verified Expert in Engineering
Quality Assurance Engineer and Developer
Vancouver, BC, Canada
Toptal member since March 6, 2018
Christina is a senior QA engineer with expertise in test automation, test management, and manual testing for web and mobile applications. She has created web, iOS, and Android test automation frameworks using Selenium WebDriver and Appium, as well as automating API testing using REST Assured and Postman. With experience in both private and public sectors, Christina has worked with large, medium-size, and small startup companies.
Portfolio
Experience
Availability
Preferred Environment
Windows, MacOS, .NET, Python, Java, Jira
The most amazing...
...project I've done was developing a test automation framework on my own using Selenium. It helped reduce manual testing time from four days to just one day!
Work Experience
Senior Test Automation Engineer
Duolingo
- Developed automated tests for web, Android, and iOS mobile apps using Selenium WebDriver and Appium in Python and Swift.
- Monitored test build runs, triaged test failures, and created and assigned tickets to developers.
- Scripted UI tests using the MobileBoost platform and GPT Driver to automate manual testing.
QA Automation Engineer
nCrypt
- Built and maintained the entire test automation framework from the ground up using Selenium WebDriver with Java, TestNG, ExtentReports, and Maven.
- Automated and maintained web regression test cases.
- Provided a test automation framework demo and test coverage progress reports to stakeholders.
- Performed manual testing on nCrypt's bitcoin and bitcoin cash exchange web application.
Senior QA Automation Engineer
BCAA
- Automated the regression test suites for an insurance web application.
- Contributed to the development and maintenance of the test automation framework.
- Conducted code reviews for team members and provided feedback.
- Automated RESTful services testing using the REST Assured API for the Personal Information Protection Act (PIPA) project.
- Performed manual web, database, and iPhone testing.
Test Lead
Treasury Board of Canada Secretariat
- Created a test automation framework from scratch using Selenium WebDriver, Python, PyUnit, Protractor, and Jasmine.
- Developed automated regression test suites for a government intranet web application built on the WordPress platform.
- Wrote the test strategy document for the project. Gathered project and business requirements to outline all the testing approaches.
- Led testing efforts and provided QA training to junior testers.
- Created and executed web accessibility (WCAG 2.0) test cases.
Software Test Developer
Ecobee
- Developed automated tests for a web application that allowed users to configure Ecobee's WiFi-enabled thermostat.
- Maintained and troubleshot the automation environments.
- Monitored automation test results daily and fixed bugs as needed.
- Mentored junior automation testers on coding standards.
Test Automation Engineer
Carebook Health Technologies
- Created the test automation framework from the ground up using Selenium WebDriver with C# and NUnit.
- Developed web UI test automation scripts for Carebook's preventative health management system.
- Mentored offshore QA testers on creating effective and maintainable test suites to provide maximum test coverage for different testing phases.
- Wrote performance test scripts using Visual Studio web performance test.
- Performed functional, regression, web, and mobile testing on Carebook's SaaS platform.
- Analyzed functional specs, requirements, and workflow designs.
Senior QA Analyst
Western Union
- Analyzed business requirements, UI workflow, and database design to create and execute test cases on a transaction monitoring and alert management system for detecting money laundering patterns for regulatory compliance (PEP, Worldcheck, Dodd-Frank).
- Designed the test plan and test case templates and created the entire regression testing suite.
- Performed black box and white box functional, regression, integration, database, and UI testing.
- Set up HP Quality Center as a test management system to create traceability for releases, business requirements, test cases, test execution results, and defects.
- Provided test coverage and defect summary reports for project releases.
Project Test Team Lead | Senior Quality Assurance Tester
Provincial Health Services Authority
- Performed functional, integration, regression, security, and automated testing for a renal patient information management system used across BC renal clinics and hospitals.
- Managed a team of four testers, defined scope of testing, planned and led project testing efforts, established and standardized QA processes. Developed the test strategy. Participated in UAT planning and triaged user feedback.
- Evaluated, recommended, and coordinated the purchase and training of test management, requirements management, test automation, and bug tracking tools. Set up and maintained all QA tools.
- Designed test plan, test case, and defect templates. Developed test estimations.
- Determined QA resource needs and participated in the QA hiring process.
Software Tester
The Active Network
- Analyzed functional specifications, created and executed test cases for point of sale (POS), payment transaction processing, and event registration systems.
- Tested the SQL encryption for payment data transmission from client to server using a Microsoft Network monitor.
- Performed website accessibility testing for ADA compliance.
- Presented demos of new software features to stakeholders and customers.
- Collaborated with offshore developers and testers.
- Implemented hardware testing on cash drawers, receipt printers, validation printers, scanners, and webcams.
Software Developer
SAP Business Objects
- Added and modified installation features to the Business Objects Enterprise application on both Windows and Unix platforms.
- Developed installation features to support different language localizations.
- Developed installation features to support different types of databases.
Software Developer
Currenex
- Converted all of the embedded test code into JUnit test cases.
- Developed an administrator setup application using Java, JavaScript, Ajax, and SQL that allowed the superuser to add, edit, and delete administrators.
- Gathered the requirements, then developed the user interface design, and implemented both front-end and back-end code.
- Wrote SQL database queries and conducted unit and integration testing.
- Managed the integration into the main application.
- Added user group deletion, user filtering, and user search features to the existing application.
Software Engineer
MacDonald, Dettwiler, and Associates (MDA)
- Implemented classes in C++ to build a “bridge” to transport navigation aid data from the database to the front-end layers of the application.
- Developed backend code to deliver data to the UI layer.
- Developed backend code to deliver data to the UI layer.
Experience
Building the Entire Test Automation Framework at nCrypt
I automated all the critical and commonly-used workflows in the front-end web application, and the automation suite was run during regression testing period to reduce manual testing time and efforts. The QA team especially appreciated the fact that the automated tests replaced some of the most tedious and time-consuming manual test cases that involved number calculations and checking for the correct cash, bitcoin, and bitcoin cash balances in the customers' wallets within the application.
Building an API Test Suite to Test RESTful Web Services
After creating the testing framework and the initial set of test cases, I mentored another tester on REST services and the programming syntax for writing API tests. The project was a success, and the entire test suite was run on a daily basis in Bamboo, our continuous integration tool.
Leading the QA Activities for a Brand-new Government Agile Project
After some discussions with the development team, we decided to build the test automation project in Python because it was the language that the majority of the developers was comfortable with. I built the test automation framework from scratch using Selenium WebDriver and automated the tests for all the new features that the developers produced in each sprint.
In addition to building the entire test automation framework, I also mentored junior testers, set up, and configured test management and defect tracking systems, performed accessibility testing for the hearing-impaired, and created the test strategy document for submission to the senior management.
The Agile project we worked on served as a pioneering example for other departments within the organization, and we frequently had colleagues visit our office to learn how we used the Agile methodology to deliver our project incrementally and successfully.
Serving as a Mentor in UBC's Computer Science Mentorship Program
Education
Bachelor's Degree in Computer Science
The University of British Columbia - Vancouver, BC, Canada
Skills
Libraries/APIs
Selenium API, Selenium WebDriver, Web Development, REST API
Tools
Confluence, Subversion (SVN), REST Assured, Microsoft Development, TestRail, HP Quality Center (QC), Eclipse IDE, Jira, Zephyr, Postman, TortoiseSVN, TortoiseGit, Bitbucket, Jenkins, Microsoft Development, Git, Apache Maven, Microsoft Development, Phabricator, Git, GitHub, Trello Development, VersionOne, Visual Studio Development, TFS, QTP, IE Developer Toolbar, PostgreSQL, Perforce, HP QuickTest Professional (QTP), Bamboo, Xcode, Android Auto
Languages
XPath, Java, Python, CSS, Python, HTML, SQL, XML, C++, JavaScript, C#, .NET, Swift
Frameworks
Selenium, JUnit, TestNG, Appium, Protractor, Jasmine, XCUITest, Swagger, NUnit, .NET
Paradigms
Software Testing, Functional Testing, Unit Testing, E2E Testing, Scrum Master Consulting, Testing, Automated Testing, Test Automation, Manual Testing, Agile Development, User Acceptance Testing (UAT)
Platforms
Android, iOS, TestLink, MacOS, Windows Development, WordPress Development, Oracle Database, Salesforce Design
Storage
Database, SQL Server, JSON, SQL Server
Other
QA Testing, Web Service Testing, Test Automation Frameworks, Smoke Testing, White Box Testing, Regression Testing, Automated UI Testing, UI Development, Integration Testing, System Testing, Exploratory Testing, Test Case Execution, Test Case Creation, Test Planning, Software Testing Lifecycle (STLC), Test Management, Android, Test Analysis, Selenium PageFactory, Web QA Engineering, QA Leadership, Agile Software Testing, Website Testing, Web App Testing, Web-based Testing, Black Box Testing, Manual QA, Mobile App Testing, UI Automation, QA Test Plan Management, Quality Assurance Engineering, Software QA, Software Development Lifecycle (SDLC), QA Testing, Test Cases, Selenium Page Object, Mobile Device QA Automation, SDET, Software Development, Mobile Apps, Leadership, Test Scripting, Test Scenarios, Agile QA, Testing Strategy, Team Foundation Server 2013, API, APIs, CI/CD Pipelines, PyUnit, Selenium IDE, Web Accessibility, Wave, Accessibility Development, JAWS, IIS, Cryptocurrency, Log4j, Agile Sprints
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring