Strong blockchain, network, and virtualization knowledge Solid programming, testing and quality assurance skills Extensive experience design and implement automation framework for network devices, distributed systems, and cross platform application UI/API/Backend testing.
Experience
2020 — Now
San Francisco Bay Area
ASA
2018 — 2020
2018 — 2020
Sunnyvale, California
Design automation framework, implement common libraries, create integration tests to validate Ethereum blockchain transaction behaviors. (Python)
Implement test tools for performance benchmark and scalability testing. Inject 10s of thousands of transactions with verification to measure chain throughput. (Python, Java)
Test lead on core features of blockchain Proof of Stake consensus protocol (Thunderalla & Pala). Review design and requirements. Owner of test plan creation, automation, and end to end testing. Manage Jenkins pipeline CI, integrate tests into local, remote test, staging and production environments. Design and perform performance, stress and destructive tests. Features tested:
Proposer, voter and full nodes liveness, consistency verification
Election protocol (voters can form a committee to validate the block)
Incentive mechanism (voters and proposer can get reward when mined a new block)
Security (AWS key management, invalid transactions, flood transactions, invalid keys, malicious stake-in etc)
Random number generation
Backup and recovery
Hard Fork support
Work with core dev team to institutionalize code coverage, race condition detection, Go benchmark into development and CICD process. Analyse reports to identify issues and performance bottlenecks in code base.
Worked on several Thunder applications and various distributed apps (Dapp) end-to-end testing, from design phase to successful launch on Thunder Testnet and Mainnet production. In charge of test plan creation, automation design and implementation. Automated UI tests with selenium/appium, framework integration with AppCenter. Implemented backend API tests with web3 and REST APIs. Thunder blockchain products tested:
Thunder Wallet
Thunder eSports
POA Cross-chain Asset
TT-SWAP
Work with DevOps team to design and review Testnet and Mainnet monitoring and alert system. Requirement discussion and design backup and recovery process flow for production
2017 — 2018
2017 — 2018
Mountain View, CA
Wrote Galaxy project AWS client performance test tool
Integrated development unit test with QA automation test framework
Design test plan and developed UI(Selenium, Sikuli), REST API cases
Maintain Service Management test case, regression and triage, such UI, upgrade, SNMP, auto support
Enhance HyperV agnostic APIs for automation test, and stablize related features, such as relocation, SRM, ODX
2016 — 2017
2016 — 2017
Milipitas, CA
Worked as on-site engineer at HP ArcSight
Develop and maintain STORM test framework:
Modulized framework as storm-plugin and storm-API which centralized core APIs and test drive module.
Add storm-server: Use embed jetty to build a web server, which provide RESTful interfaces and loadable modules to support test results collection, tests results search and presentation.
Add docker container management module for storm-server, which connect with docker swarm, create container, run container, stop container, delete container.
Deployed docker swarm and designed the network to make them communicate among containers, VMs, real PCs.
Updated storm-plugin to communicate with storm-server, then dynamically allocate resources for jobs.
Wrote APIs to support interactive testing via Expect4j and customized DSL
Implemented code to integrate QF tests with STORM.
Automate test cases
Developed backend, WebUI (Webdriver), Java UI (QFTest) tests for ArcSight Connector/Logger/ESM
Optimized connector test libraries.
Education
Southwest Jiaotong University