Ali Mesbah
Verified Expert in Engineering
Quality Assurance (QA) Developer
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
Experience
Availability
Preferred Environment
Java, Web, Selenium WebDriver, Git, REST Assured, Appium, Mobile Apps, Python
The most amazing...
...thing I've developed is Crawljax, an event-driven crawler for automatically analyzing and testing web applications.
Work Experience
Principal Investigator in Software Engineering
The University of British Columbia
- Founded a research lab called Software Analysis and Testing (SALT) to investigate and implement new techniques for improving software quality.
- Designed and delivered undergraduate courses on software testing and analysis covering unit testing, mutation testing, web and mobile app testing, code coverage, regression testing, static and dynamic analysis, fault localization, and program repair.
- Taught graduate courses on software testing and verification covering state-of-the-art tools and techniques for analyzing large-scale software systems such as control-flow and data-flow analysis, taint analysis, and symbolic execution.
- Supervised Ph.D. and MSc graduate students working on software analysis topics such as automated test generation, web testing, API testing, automated program repair.
Senior QA and Test Automation Consultant
Mobile Security Management Company
- Developed automated tests for various native mobile apps in both Android and iOS.
- Implemented tests in Appium and Robot Framework for cross-platform testing of mobile apps.
- Set up continuous integration (CI) through Jenkins for automated test execution.
CEO
Testcue
- Established connections with industrial software companies for providing QA automation and testing services.
- Participated in consulting projects, offered automated testing services to newly developed mobile and web apps.
- Led the development of an automated online monitoring system for a large enterprise application to detect regression bugs.
- Managed the development of a framework for testing canvas applications.
- Liaised with industrial collaborators and clients for securing R&D funding. Made budgetary plans and objectives and adjustments to project constraints based on financial analysis.
Software Engineering Consultant
- Participated in the design and implementation of an ML-based tool for automatically suggesting fixes for Java compilation errors using neural machine translation. The tool learns from errors developers make and the way they fix the errors.
- Created a scalable Java type refactoring tool for ultra-large-scale mono repositories through a MapReduce design that made multiple passes over the code to collect type information and perform in-code refactoring.
- Added bug patterns for the Error Prone framework, an open-source compile-time static bug checker.
Software Engineering Consultant
Fujistu Laboratories of America
- Developed a testing framework for automatically creating a navigational model of a given enterprise web application.
- Devised an automated technique for cross-platform testing to detect inconsistencies and errors in the functional behavior of web applications across different browsers.
- Designed and implemented a guided crawling algorithm to complement an automated tool with user input.
Lead Senior Software Engineer
West
- Developed a software system for generating a ventilation and heating strategy based on input from weather forecasts, measurements of temperature and radiation, and manual settings for regulating enterprise greenhouses.
- Designed and was liable for implementing substantial parts of a large software system for the energy sector, including meeting with the client to elicit and document the desired requirements and designing the initial software architecture.
- Tested, designed, and developed a web portal for a client based on REST APIs. The testing activities consisted of unit testing with JUnit, regression testing, and integration testing.
- Acted as the technical lead and coordinator of a team of software developers.
Experience
Crawljax
https://github.com/crawljax/crawljaxAutomated Cross-platform Compatibility Testing
https://patentimages.storage.googleapis.com/81/9e/84/65e211a3249f3c/US9032067.pdfEducation
PhD Degree in Software Engineering
Delft University of Technology (TU Delft) - Delft, The Netherlands
Master's Degree in Computer Science
Delft University of Technology (TU Delft) - Delft, The Netherlands
Bachelor's Degree in Computer Science
Delft University of Technology (TU Delft) - Delft, The Netherlands
Certifications
Professional Engineer (P.Eng.) in Software Engineering License
Association of Professional Engineers and Geoscientists of British Columbia, BC, Canada (APEGBC)
Skills
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
Languages
Java, CSS, XHTML, AspectJ, SQL, R, JavaScript, XML, Python
Frameworks
JUnit, Selenium, TestNG, QUnit, Appium, Robotium, Jasmine, Jest, Robot Framework, XCUITest
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, Quality Assurance Engineering, 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 (DNNs), Compilers, Software Engineering, University Teaching, Research, R&D, Browsers, QA Testing, Leadership, Software Architecture, Consulting, Mobile Apps, UI Testing
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring