Christina Lin, Developer in Vancouver, BC, Canada

Christina Lin

Quality Assurance Engineer and Developer

Location
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 test automation frameworks from the ground up using Selenium WebDriver in several projects 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.

Christina is available for hire
Hire Christina

Portfolio

Clients (via Toptal)
Git, Xcode, Swift, Java, Python, Selenium WebDriver, Appium, QA Automation...
nCrypt
Jira, TestRail, Git, Apache Maven, TestNG, Java, Appium, Selenium WebDriver...
BCAA
pgAdmin, Postman, Swagger, TestLink, Bamboo, Subversion (SVN), Git, SQL, TestNG...

Experience

Quality Assurance (QA) - 12 yearsWeb App Testing - 12 yearsTest Automation Engineer - 10 yearsQA Automation - 10 yearsSelenium WebDriver - 9 yearsGit - 7 yearsAppium - 5 yearsAPI Testing - 3 years

Location

Vancouver, BC, Canada

Availability

Part-time

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

2018 - PRESENT

QA Automation Engineer

Clients (via Toptal)
  • Developed automated tests for native android and iOS mobile apps using Appium and Python.
  • Built a test automation framework from the ground up for a cryptocurrency web application using Selenium WebDriver and Java.
  • Performed manual testing on native Android and iOS apps.
  • Created test cases for mobile apps for internal and external testers to use during regression testing.
Technologies: Git, Xcode, Swift, Java, Python, Selenium WebDriver, Appium, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing, Mobile Apps
2017 - 2018

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.
Technologies: Jira, TestRail, Git, Apache Maven, TestNG, Java, Appium, Selenium WebDriver, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing, Mobile Apps
2016 - 2017

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.
Technologies: pgAdmin, Postman, Swagger, TestLink, Bamboo, Subversion (SVN), Git, SQL, TestNG, Java, Selenium WebDriver, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing, Mobile Apps
2015 - 2016

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.
Technologies: Firefox Extensions, Wave, TestLink, Git, Unit Testing, Python, Selenium WebDriver, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing
2015 - 2015

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.
Technologies: TestLink, Jenkins, Subversion (SVN), PyUnit, Python, Selenium WebDriver, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing
2014 - 2014

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.
Technologies: TFS, Microsoft Team Foundation Server, Microsoft Test Manager, Website Performance, Visual Studio, Microsoft Visual Studio, NUnit, C#, Selenium WebDriver, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing
2013 - 2014

Senior QA Analyst

Western Union
  • Analyzed the 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.
  • 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.
Technologies: Selenium IDE, VersionOne, Trello, HP Quality Center (QC), SQL Server Management Studio, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing
2011 - 2013

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.
Technologies: Jira, HP Sprinter, HP Quality Center (QC), VBScript, QTP, Java, Selenium WebDriver, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing
2010 - 2011

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.
Technologies: IIS, JAWS, Accessibility, Firefox, Wave, IE Developer Toolbar, Web Accessibility, Network Monitoring, Oracle Database, Jira, Microsoft SQL Server, Quality Assurance (QA)
2010 - 2010

Software Developer

SAP Business Objects
  • Added and modified installation features to the Business Objects Enterprise application on both Windows and Unix platforms.
Technologies: Visual Studio, C++, QA Automation, SDET, Quality Assurance (QA), Automated Testing
2008 - 2008

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.
  • Managed the integration into the main application.
  • Conducted unit and integration testing.
  • Added user group deletion, user filtering, and user search features to the existing application.
Technologies: SQL, Ajax, JavaScript, Java, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing
2007 - 2007

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.
Technologies: C++, QA Automation, SDET, Quality Assurance (QA), Software Development, Automated Testing

Experience

Building the Entire Test Automation Framework at nCrypt

As the first QA automation engineer hired at the company, I had the opportunity to build the test automation project from the ground up. I used Selenium WebDriver with Java, TestNG, and Maven. I incorporated Log4J for logging test steps and error stack trace to a log file, and I added ExtentReports for generating a user-friendly HTML report to display the test results.

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

At BCAA, I was involved in a data tokenization project that required web services API testing. Since no one on my team had done API testing before, I took the initiative to build the test suite from scratch. As we were a Java shop, I used the REST Assured Java framework to test the REST API endpoints.

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

I was hired as a test lead and QA automation engineer for a brand-new Agile project at a government agency. The project's purpose was to redesign and rebuild the intranet so it could function as a collaboration and knowledge-sharing platform for employees.

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

Since 2006, I have been volunteering as a mentor in the computer science mentorship program at the University of British Columbia. This program allows me to give back to the computer science department while providing guidance to students concerning the direction of their coursework and careers. Not only have I found this experience to be rewarding, I have also made some lifelong friends over the years.

Skills

Languages

XPath, Java, Python, CSS, Python 3, HTML, SQL, XML, C++, JavaScript, C#, C#.NET, Swift

Frameworks

Selenium, JUnit, TestNG, Appium, Protractor, Jasmine, Swagger, NUnit

Libraries/APIs

Selenium API, Selenium WebDriver, WebDriver, REST APIs

Tools

Confluence, Subversion (SVN), REST Assured, Microsoft Test Manager, TestRail, HP Quality Center (QC), Eclipse IDE, Jira, Zephyr, Postman, TortoiseSVN, TortoiseGit, Bitbucket, Jenkins, Microsoft Visual Studio, Git, Apache Maven, Microsoft Team Foundation Server, Phabricator, GitLab, GitHub, Trello, VersionOne, Visual Studio, TFS, QTP, IE Developer Toolbar, pgAdmin, Perforce, HP QuickTest Professional (QTP), Bamboo, Xcode

Paradigms

Software Testing, Functional Testing, Unit Testing, E2E Testing, Scrum, Testing, Automated Testing, Test Automation, Manual Testing, Agile, User Acceptance Testing (UAT)

Platforms

Android, iOS, TestLink, MacOS, Windows, WordPress, Oracle Database, Salesforce

Other

QA Testing, Web Service Testing, Test Automation Frameworks, Smoke Testing, White Box Testing, Regression Testing, Automated UI Testing, UI Testing, Integration Testing, System Testing, Exploratory Testing, Test Case Execution, Test Case Creation, Test Planning, Software Testing Lifecycle (STLC), Test Management, Android Testing, Test Analysis, Selenium PageFactory, Website QA, 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, QA Automation, Software QA, Software Development Lifecycle (SDLC), Quality Assurance (QA), Test Cases, Selenium Page Object, SDET, Software Development, Test Automation Engineer, Mobile Apps, Team Foundation Server 2013, API Testing, Mobile Device QA Automation, APIs, PyUnit, Selenium IDE, Web Accessibility, Wave, Accessibility, JAWS, IIS, Cryptocurrency, log4j, Agile Sprints, Leadership

Storage

Databases, Microsoft SQL Server, JSON, SQL Server Management Studio

Education

2006 - 2009

Bachelor's Degree in Computer Science

The University of British Columbia - Vancouver, BC, Canada