Name : Hongjun Fan
Location : San Jose
Email : firstname.lastname@example.org
Cell Phone : 1-925-***-****
English Level : Good
Eight years Python automation scripts developing experience
Over 8 years experience in BMC/BIOS firmware validation test on server products.
Over 3 years experience in diagnostic test on data center switch products
Two years in SSD firmware test on TLC NAND SSD products
Solid experience with Python script, Linux bash script and TCL script
Familiar with Redhat, Suse, Solaris, Ubuntu and Windows Server edition OS
Familiar with IPMI, ATA, SATA protocol
Familiar with dynamic web architecture and developing, such as Node JS plus AJAX, database like mysql and redis.
Cisco Systems, Inc(San Jose)
Oct 2017 - Now
Cisco Systems(China) Research & Development Co., Ltd July 2016 – Oct 2017
Technical Leader Software Engineering
Switch diagnostic test automation
Maintain Diag QA infrastructure including Web interface, TMUX enviroment and daily report tool
Make test plan, create test cases for new features
Creating TCL, Expect, Python and Shell script for test sequence change and new introduced test features
Building Diag image, lauch, monitor and management Diag daily regression tests with the test framwork
Develop Diag screening script and all related mornitoring/Utility scripts
Involve in Diag debug to isolate N9K Switch hardware issue with Diag tool
Diag image issue analyse and debug, bug report and tracking with Cisco CDETS
Prepare Diag manufactory release and manufacory support
Optimized work flow with automation tools gitlab CI/CD, Jenkins, etc.
Lab equipment maintain and management for all regression UUT and UNIX servers Projects:
Latest Test Project: Utopias
Project Role: Diagnostic QA
Project Info: Utopias is the latest data center switch which support 400G data throughput using inhouse designed ASIC
SW Environment: Tmux, Web monitor
HW Environment: Server and switch product
Responsibilities: product bring up with diagnostic, regression tests. PROFESSIONAL EXPERIENCES
Mircon R&D Center, Shanghai
Dec 2014 – July 2016
Senior Product Validation Engineer
Python Automation Architecture
As test architecture, I responsible test architecture developing and maintenance, both core and product specific code are Python based, Python code will call a midware Drive Mate. Python code developed using eclipse IDE tool, code version controlled by SVN(Subversion)
We develop both SATA(Serial Advanced Technology Attachment) SSD (solid state drive) SSD, besides standard SATA feature, our tests also cover firmware internal designed feature verification, especially on Nand Flash media operation.
Develop new python script for new firmware feature, and at the same time, review peer’s script.
I use lecory for both SATA protocol analyzer and link layer error injection test; Develop tests to cover media access algorithm.
Write oven scripts to control chamber temperature cover drive stability test.
Maintain Jenkins server, create Jenkins job to run Continuous Integration Test for both test code change and firmware image release
Debug script failures, isolate scripts issue, firmware issue or Nand issue, then fix Script bugs report firmware issue.
Latest Test Project: Acaida
Project Role: Firmware test script developer
Project Info: Acadia is the first TLC Nand SSD drive of the company, which using Marvell controller and B0KB NAND.
SW Environment: Eclipse, Source Insight.
HW Environment: SATA drive
Responsibilities: Test coverage review; New script development; Failure scene debug SUN/Oralce R&D Center, Shanghai
Apr 2008 – Dec 2014
Firmware QA Lead / Automation Lead
SP(Service Processor) is an embedded system which build in server product mother board, provide hardware level remote management of server. the SP firmware developed based on embedded Liunx, providing both remote Command Line Interface, Browser interface and Java Remote Console interface to user. As SP firmware Quality Assurance lead, it's my responsivity to develop test cases for new feature which introduced when new Sever project launched. define test coverage for every SP firmware release base on firmware changes.
As automation lead, it's my duty to develop new method to automate existing manual test cases. for SP command line interface, I lead team create TCL, expect, Python scripts and shell scripts to automate, For Browser interface, I use curl for web page communication automation and write page specific parser for data exchange. I create selenium programs for Browser interface automation, Sikuli programs for Java Remote Console automation. For legacy BIOS(Basic Input/Output System) automation, I use console redirection to automate. For UEFI(Unified Extensible Firmware Interface) BIOS, I create UEFI shell scripts to automate.
Setup and maintain the whole automation test system, including automation develop server, moko execution server and moko server, Setup ATS(Application Test Suite) environment
I am the test code advocate, it my job to review and approve code merge to branch/trunk.
Launch automated test suite on Moko execution server which including SNMP(Simple Network Management Protocol ), WS-man(Web Service Management), IPMI(Intelligent Platform Management Interface), remote-storage, etc.
Setup ATS(Application Test Suite) environment, run ATS test before product start manufactory build.
Latest Test Project: X4-2B BMC Firmware Testing
Project Role: Firmware QA leader
Project Info: X4-2B is an Intel Romley based IVB-EP blade server, it using AST2100 as the BMC chip, BMC firmware is in-house designed ILOM, updated to ILOM3.1 SW Environment: ILOM18.104.22.168, BIOS20001000 (UEFI base) OS: OEL6.2, Solaris11
Tools: ipmitool22.214.171.124, ipmiflash126.96.36.199, HMP2.2.2 HW Environment: All supported Intel IVB ES0 CPU and Samsung/Hynix DDR3 LV DIMM, Responsibilities: Write the Firmware validation plan, develop test cases base on new feature, develop test scripts and run tests
Achievements: lead test team successfully finished each stage of testing with high efficiency and quality
Automation project: Pylom
Project Role: platform automation leader
Project Info: Pylom is a python based BMC firmware test frame with common lib and utilities, platform team implement platform specific lib, tool and utilities, platform team develop test case scripts.
SW Environment: python2.6.6, svn1.6.11, cx_Oracle5.1.2 HW Environment: python build server, script execution server, may test agent and UUT Responsibilities: lead porting China branch, develop snapshot test on branch Achievements: Make China branch works with our server product. Inventec R&D Center, Shanghai
July 2004 – April 2008
Function manager of BMC test team
Running BMC(Baseboard Management Controller) Firmware test team
Planning BMC Firmware and Server Management software validation tests, to check if there are some bugs with the firmware or software, if the BMC firmware is consistent with IPMI2.0(Intelligent Platform Management Interface) Specification
Basing on the Server project schedule, arrange manpower properly to cover more projects.
Optimizing the test procedure and developing the test tool
Issue analyses and trouble-shooting, using I2C (nter-Integrated Circuit) bus analyzer for I2C issue, Wireshark for other IOL(IPMI over lan) and SOL(serial over lan) session sequence check. 771 Micro Electronic Research Institute
July 2002 – July 2004
semiconductor produce process
As process engineer, I am responsible for Hybid Integrated Circuit thick film process and thin film process technology and process management.
New Product process feasibility analysis, drawing sign, process design for batch trial and giving a trial report.
Solve the process technical problems, improve product quality and yield first pass rate. Support product line site engineer.
Lead new process technology introduction and experimental research.
Product equipment maintain
North-western polytechnical University of China 1998, 9 – 2002, 7 Bachelor degree of Automatic Control