About Me
Hello, world! My name is Ho Huu Ngoan and I am a Automation Test Engineer from Ho Chi Minh City, Vietnam. I graduated in 2015 with a bachelor’s degree in Software Engineering from FPT University. I have been in the field for over 7 years. Besides, I also started to know the blog sharing knowledge about Automation Test at https://ngoanh2n.github.io/blog
Skills
General
Language
- ☑ Java
- ☑ JavaScript
- ☑ PHP
- ☑ HTML/CSS
Concept
- ☑ OOP Principles
- ☑ Design Patterns
- ☑ Algorithms
- ☑ Data Structures
CI/CD
- ☑ Jenkins
- ☑ CircleCI
- ☑ GitHub Actions
- ☑ SauceLabs / BrowserStack
Other
- ☑ Docker
- ☑ AWS EC2
Java
Build Tool
- ☑ Gradle
- ☑ Maven
WebDriver
- ☑ Selenium
- ☑ Appium
- ☑ Selenide
Test Framework
- ☑ JUnit5
- ☑ TestNG
Report Framework
- ☑ Allure
- ☑ ReportPortal
- ☑ ExtentReport
PHP
Build Tool
- ☑ Composer
WebDriver
- ☑ PHP WebDriver
Test Framework
- ☑ PHPUnit
Tool
Inspector
- ☑ App Inspector (Macaca)
- ☑ Appium Inspector
- ☑ UIAutomatorViewer
Recorder
- ☑ Selenium IDE
Development Skills
Frontend
- ☑ Webpack
- ☑ ReactJS
- ☑ ReactNative
Backend
- ☑ NodeJS
- ☑ ExpressJS
- ☑ Nodemon
Database
- ☑ MySQL
- ☑ MSSQL
- ☑ MongoDB
Projects
Built as a dependency with Java to check Selenium WebDriver characteristics and environment.
You are writing automation test scripts for multiple browsers such as:
- Chrome, Safari.. on PC
- Safari & native application on iOS
- Chrome & native application on Android
And somewhere, you have to check type of browser or platform to navigate your scripts.
Use WebDriverChecker
to make it more convenient!
It able to check:
- Browser: Chrome, Firefox, Edge, Opera, Safari, IE
- Platform: MacOS, Linux, Windows, iOS, Android
- State: Alive, Local, Remote, Web, Native, Docker, Virtual Device, Cloud
Example:
boolean result = WebDriverChecker.isEdge(..);
boolean result = WebDriverChecker.isIOS(..);
boolean result = WebDriverChecker.isDocker(..);
boolean result = WebDriverChecker.isMobileVirtual(..);
Built as a dependency with Java to compare 2 image files.
Example:
ImageComparisonOptions options = ImageComparisonOptions
.builder()
.allowedDeviation(0.05) // Default to 0.0
.diffColor(Color.CYAN) // Default to Color.RED
.build();
ImageComparisonResult result = ImageComparator.compare(expectedImage, actualImage, options);
Built as a dependency with Java to compare 2 CSV files.
Example: CSV is formatted columns [id,email,firstname,lastname,age,note]
CsvComparisonOptions options = CsvComparisonOptions
.builder()
.selectColumns("email", "firstname", "lastname")
.selectColumnId("email")
//.selectColumns(1, 2, 3)
//.selectColumnId(1)
.build();
CsvComparisonResult result = CsvComparator.compare(expectedCsvFile, actualCsvFile, options);
Experience
SHIFT ASIA was a subsidiary of SHIFT Inc headquartered in Tokyo, Japan and was established in May 2016 as a strategic Asian hub for the parent company and part of the SHIFT Group alliance.
Joined as Software Development Engineer in Test:
- Develop framework built on top of Selenium/Selenide, Appium.
- Deploy CI/CD environment for automation test.
- Build testing structures, skeletons, tools.
IMLINK VIETNAM was a subsidiary of IMLINK headquartered in Nagoya, Japan and was established in Apr 2007 to conduct offshore development from the Japanese market.
Joined as C# developer for 6 months.
Education
Meros Language School is a Japanese language school in Tokyo, Japan. The trainees are mainly from China and Vietnam.
FPT University is a private university in Vietnam. FPT University is a member of FPT Group and has campuses in Hanoi (main), Ho Chi Minh City and Danang.
Posts and Telecommunications Institute of Technology
http://portal.ptit.edu.vn/engBachelor of Information Technology
Sep 2009 - Aug 2010
Posts and Telecommunications Institute of Technology (PTIT), is a University in Vietnam, under the supervision of Vietnam Posts and Telecommunications Group (VNPT), a communications-related research facility.