Ali Mesbah, Developer in Vancouver, BC, Canada
Ali is available for hire
Hire Ali

Ali Mesbah

Verified Expert  in Engineering

Quality Assurance (QA) Developer

Location
Vancouver, BC, Canada
Toptal Member Since
March 14, 2022

Ali is an expert in software quality and dependability. With more than a decade of R&D experience in the field of software testing and analysis, he has a proven track record in quality assurance, code quality assessment, test design, test effectiveness and adequacy, test automation, root cause analysis, and program repair.

Portfolio

The University of British Columbia
Software Engineering, Testing, University Teaching, R&D
Mobile Security Management Company
Appium, Robot Framework, Pytest, XCUITest, UI测试,移动应用测试...
Testcue
QA领导,管理,咨询,QA自动化,移动应用测试...

Experience

Availability

Part-time

Preferred Environment

Java, Web, Selenium WebDriver, Git, REST Assured, Appium,移动应用程序,Python

The most amazing...

...thing I've developed is Crawljax, 一个事件驱动的爬虫,用于自动分析和测试web应用程序.

Work Experience

Principal Investigator in Software Engineering

2017 - PRESENT
The University of British Columbia
  • 建立了一个名为软件分析和测试(SALT)的研究实验室,以调查和实现改进软件质量的新技术.
  • 设计并讲授涵盖单元测试的软件测试与分析本科课程, mutation testing, web and mobile app testing, code coverage, regression testing, static and dynamic analysis, fault localization, and program repair.
  • 教授研究生关于软件测试和验证的课程,包括用于分析大型软件系统的最先进的工具和技术,如控制流和数据流分析, taint analysis, and symbolic execution.
  • Supervised Ph.D. 以及研究软件分析主题(如自动测试生成)的硕士研究生, web testing, API testing, automated program repair.
技术:软件工程、测试、大学教学、R&D

Senior QA and Test Automation Consultant

2022 - 2022
Mobile Security Management Company
  • 为Android和iOS上的各种原生移动应用开发自动化测试.
  • 在Appium和Robot Framework中执行测试,用于移动应用的跨平台测试.
  • 通过Jenkins为自动化测试执行设置持续集成(CI).
Technologies: Appium, Robot Framework, Pytest, XCUITest, UI测试,移动应用测试, Android, iOS, WebDriver, Android Studio, Xcode, Python, Jenkins

CEO

2015 - 2020
Testcue
  • 与工业软件公司建立联系,提供QA自动化和测试服务.
  • Participated in consulting projects, 为新开发的移动和web应用程序提供自动化测试服务.
  • 领导一个大型企业应用程序的自动在线监控系统的开发,以检测回归错误.
  • 管理用于测试画布应用程序的框架的开发.
  • 与工业合作伙伴和客户保持联系,确保R&D funding. 制定预算计划和目标,并根据财务分析对项目约束进行调整.
Technologies: QA领导,管理,咨询,QA自动化,移动应用测试, Web App Testing, Quality Assurance (QA), Automation

Software Engineering Consultant

2017 - 2018
Google
  • 参与设计和实现一个基于ml的工具,该工具使用神经机器翻译自动建议修复Java编译错误. 该工具从开发人员犯的错误和他们修复错误的方式中学习.
  • 通过MapReduce设计,为超大规模的单存储库创建了一个可伸缩的Java类型重构工具,该工具对代码进行多次传递,以收集类型信息并执行代码内重构.
  • 为易出错框架(一个开源编译时静态错误检查器)添加了错误模式.
Technologies: Java, Blaze, JUnit, Google MapReduce, Deep Neural Networks, Compilers, Static Analysis, Python, TensorFlow, Test Automation

Software Engineering Consultant

2010 - 2010
Fujistu Laboratories of America
  • 开发了一个测试框架,用于自动创建给定企业web应用程序的导航模型.
  • 设计了一种自动化的跨平台测试技术,用于检测跨不同浏览器的web应用程序的功能行为中的不一致和错误.
  • 设计并实现了一个引导爬行算法,以补充用户输入的自动化工具.
Technologies: Java, JavaScript, HTML DOM, Cross-platform, Test Automation, Browsers, XML, CSS, Quality Assurance (QA), QA Testing, QA Automation

Lead Senior Software Engineer

2002 - 2010
West
  • 开发一个软件系统,根据天气预报的输入生成通风和供暖策略, measurements of temperature and radiation, and manual settings for regulating enterprise greenhouses.
  • 为能源部门设计并负责实施大型软件系统的主要部分, 包括与客户会面,以引出并记录所需的需求,并设计初始软件架构.
  • 测试、设计和开发一个基于REST api的客户端门户网站. 测试活动包括使用JUnit进行单元测试, regression testing, and integration testing.
  • 担任软件开发团队的技术领导和协调者.
技术:领导力、敏捷项目管理、软件架构、QA领导力

Crawljax

http://github.com/crawljax/crawljax
Crawljax是一个用于自动抓取和测试现代web应用程序的开源工具. I am the inventor of Crawljax, 哪一个可以通过事件驱动的抓取引擎探索任何web应用程序. 它生成动态网页的状态流图和它们之间基于事件的转换作为输出. Crawljax可以通过其易于使用的插件架构轻松扩展. 一旦爬行停止,它的测试生成插件就会自动生成UI测试用例. Crawljax已被用于大型组织(如IBM)的研究和开发以及测试企业应用程序, Google, Huawei, and Fujitsu.

Automated Cross-platform Compatibility Testing

http://patentimages.storage.googleapis.com/81/9e/84/65e211a3249f3c/US9032067.pdf
设计了一种新颖的自动化测试技术,用于跨不同平台和浏览器进行一致和正确的功能检查. 这项发明在美国富士通实验室获得了美国专利.

Languages

Java, CSS, XHTML, AspectJ, SQL, R, JavaScript, XML, Python

Frameworks

JUnit, Selenium, TestNG, QUnit, Appium, Robotium, Jasmine, Jest, Robot Framework, XCUITest

Libraries/APIs

WebDriver, Node.js, Sikuli, REST APIs, Selenium WebDriver, TensorFlow

Tools

Apache JMeter, Apache Maven, REST Assured, Cucumber, Bazel, Jenkins, LaTeX, Clover, Git, Postman, IntelliJ IDEA, Mocha, ANTLR, Apache Ant, Travis CI, SonarQube, Make, Bugzilla, Jira, Coverity, Pytest, Android Studio, Xcode

Paradigms

Continuous Deployment, Object-oriented Design (OOD), Fuzz Testing, Unit Testing, Test-driven Development (TDD), Automated Testing, Behavior-driven Development (BDD), REST, MapReduce, Refactoring, Load Testing, W3C, Microservices, Automation, Manual Testing, E2E Testing, Scrum, XP, Agile, Test Automation, Testing, Cross-platform, HTML DOM, Agile Project Management, Management

Platforms

Eclipse, Linux, MacOS, Android, Docker, Web, iOS

Storage

MySQL, NoSQL, JSON

Other

Web App Testing, Generative Testing, Code Coverage, Technical Writing, High Code Quality, Mutation Testing, API Testing, FindBugs, MonkeyTalk, Automated UI Testing, Mobile App Testing, Static Analysis, Quality Assurance (QA), A/B Testing, Debugging, Root Cause Analysis, Boundary Testing, Regression Testing, Fault-Based Testing, QA Automation, Performance Testing, Test Design, Team Leadership, Team Mentoring, Test Planning, QA Test Plan Management, Web Applications, Manual QA, QA Leadership, Machine Learning, Test Automation Frameworks, Blaze, Google MapReduce, Deep Neural Networks, Compilers, Software Engineering, University Teaching, Research, R&D、浏览器、QA测试、领导力、软件架构、咨询、移动应用、UI测试

2005 - 2009

PhD Degree in Software Engineering

代尔夫特理工大学(TU Delft) -代尔夫特,荷兰

2001 - 2003

Master's Degree in Computer Science

代尔夫特理工大学(TU Delft) -代尔夫特,荷兰

1997 - 2000

Bachelor's Degree in Computer Science

代尔夫特理工大学(TU Delft) -代尔夫特,荷兰

NOVEMBER 2011 - PRESENT

Professional Engineer (P.Eng.) in Software Engineering License

加拿大不列颠哥伦比亚省专业工程师和地球科学家协会(APEGBC)