Ali Mesbah
Verified Expert in Engineering
Quality Assurance (QA) Developer
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
Experience
Availability
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
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.
Senior QA and Test Automation Consultant
Mobile Security Management Company
- 为Android和iOS上的各种原生移动应用开发自动化测试.
- 在Appium和Robot Framework中执行测试,用于移动应用的跨平台测试.
- 通过Jenkins为自动化测试执行设置持续集成(CI).
CEO
Testcue
- 与工业软件公司建立联系,提供QA自动化和测试服务.
- Participated in consulting projects, 为新开发的移动和web应用程序提供自动化测试服务.
- 领导一个大型企业应用程序的自动在线监控系统的开发,以检测回归错误.
- 管理用于测试画布应用程序的框架的开发.
- 与工业合作伙伴和客户保持联系,确保R&D funding. 制定预算计划和目标,并根据财务分析对项目约束进行调整.
Software Engineering Consultant
- 参与设计和实现一个基于ml的工具,该工具使用神经机器翻译自动建议修复Java编译错误. 该工具从开发人员犯的错误和他们修复错误的方式中学习.
- 通过MapReduce设计,为超大规模的单存储库创建了一个可伸缩的Java类型重构工具,该工具对代码进行多次传递,以收集类型信息并执行代码内重构.
- 为易出错框架(一个开源编译时静态错误检查器)添加了错误模式.
Software Engineering Consultant
Fujistu Laboratories of America
- 开发了一个测试框架,用于自动创建给定企业web应用程序的导航模型.
- 设计了一种自动化的跨平台测试技术,用于检测跨不同浏览器的web应用程序的功能行为中的不一致和错误.
- 设计并实现了一个引导爬行算法,以补充用户输入的自动化工具.
Lead Senior Software Engineer
West
- 开发一个软件系统,根据天气预报的输入生成通风和供暖策略, measurements of temperature and radiation, and manual settings for regulating enterprise greenhouses.
- 为能源部门设计并负责实施大型软件系统的主要部分, 包括与客户会面,以引出并记录所需的需求,并设计初始软件架构.
- 测试、设计和开发一个基于REST api的客户端门户网站. 测试活动包括使用JUnit进行单元测试, regression testing, and integration testing.
- 担任软件开发团队的技术领导和协调者.
Experience
Crawljax
http://github.com/crawljax/crawljaxAutomated Cross-platform Compatibility Testing
http://patentimages.storage.googleapis.com/81/9e/84/65e211a3249f3c/US9032067.pdfSkills
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测试
Education
PhD Degree in Software Engineering
代尔夫特理工大学(TU Delft) -代尔夫特,荷兰
Master's Degree in Computer Science
代尔夫特理工大学(TU Delft) -代尔夫特,荷兰
Bachelor's Degree in Computer Science
代尔夫特理工大学(TU Delft) -代尔夫特,荷兰
Certifications
Professional Engineer (P.Eng.) in Software Engineering License
加拿大不列颠哥伦比亚省专业工程师和地球科学家协会(APEGBC)