Ahmad El-Aina
***********@*****.***, **** Pl. Northcrest, Montreal, QC, H3S 2T5, +1-514-***-****
Objective: Obtaining a QA position in manual and/or automation practices (Scripting/ building & maintenance of automation frameworks)
LinkedIn Profile: https://www.linkedin.com/in/ahmad-el-aina-9a123510a/ GitHub: https://github.com/aelaina100
Monday, December 30th, 2024
Having had QA experience in the medical field, I wish to apply for the position titled développeur de logiciels senior en test/Senior Software Developer inTest. My current skills and qualifications match this position in the following ways: Professional Summary
10 years of experience in manual & Automation practices (Current position: Web/ Mobile QA Engineer)
Automation Expertise (7 years): Designed and developed Selenium WebDriver, with Java on TestNG library & Cucumber from scratch. Embedding this Maven framework in CI/CD pipelines (Jenkins, GitLab & Bitbucket). Converting manual regression & sanity test cases into maintainable scripts, utilizing Page Object Model pattern & advanced automation techniques such as Java Streams to optimize the code.
Manual Expertise (+8 years): Concurrent with automation testing): 1. Establishing QA processes for start-ups (Company: Conavi Medical)- Writing test plans, technical reports, & detailed test cases in the areas of: Component, Integration, End to end regression, Sanity, Smoke testing, & hardware testing. 2. Execution of test cases, reporting bugs, and verifying fixes for all stages of Software Development Life Cycle (SDLC) & Software Testing Life Cycle (STLC). 3. Expertise in trading domain (Morgan Stanley) and eCommerce Business Domain. Technical Skills
Programming languages: Java, Python, JavaScript
Automation tools: Selenium, Appium, REST API, JavaScript in Postman
Automation frameworks: Maven, TestNG, Page Object Pattern, Log4J, Grid, Excel, Cucumber, Extent Reports, Database connection (MySQL server)
QA Tools: Azure DevOps, ALM, Jira, TFS, Confluence, GitLab, Traceability Matrices
DICOM & HL7: DicomToolbox, DicomToolkit(DCMTK), HL7 toolkit, Mirth Connect Major Projects
Date: July 2019 – January 2021
Company: Loblaw Companies Limited
Job Title: QA Automation Engineer
Project Description: an 18-month project plan for building a real-time Selenium automation framework and converting over1300 already existing functional manual test cases into automated ones.
Responsibilities: Solely designed & presented a real-time Selenium Java framework in the first week. Automated assigned manual test cases in an Agile environment. Code submitted to SDET for review, before pushing into Bitbucket, had to match quality standards of functionality, maintainability, optimization, & readability (Cucumber). Achievement:
Under 1-hour of execution time of over 1000 test cases on sauce labs utilizing Selenium Grid with clear HTML reporting and logs for all test cases that passed/ failed (with screenshots taken).
Gained expertise of Selenium architecture & UI Automation techniques through SDET feedback, framework troubleshooting, constant update of framework components, building utilities for re-usable methods, solving merge conflicts via coordinating with team members, & participating in code review sessions. Date: March 2016- May 2018
Company: Conavi Medical
Job Title: Medical Device/ Health Care Software Verification & Validation Specialist Project Description: Establishing manual QA processes in this start-up company- Documentation of test plans and test cases for existing and new medical device requirements. Execution of manual test cases, reporting defects, and verifying fixes prior to each release. Responsibilities:
Gathering requirements via exploratory methods, technical manuals, & meeting with developers and logging them into ALM.
Writing elaborate test cases (Including negative scenarios) for Component, Integration, Regression, Smoke, Sanity, & hardware testing of all requirements logged in ALM.
Translating non-functional & complex technical requirements for the working of ultrasound and laser modalities into simplified, manageable, and detailed test cases. Achievement: Established clear guidelines for testing by following documented elaborate test cases and recording their results and associated bug reports in traceability matrices. Contributed to the boarding process of new QA associated by creating troubleshooting manuals for how to test medical imaging software (Tips & tricks).
Education
Computer Science B.S 2003-2007
American University of Beirut, Beirut, Lebanon
Biomedical Electronics Engineering Advanced Diploma 2010-2014 Centennial College, Toronto, Ontario, Canada
Work Experience
Web/ Mobile QA Engineer January 2021- Current
Compass Group, Montréal, Québec
Project description: Testing of web & e-commerce mobile applications. Automating selected scenarios using Appium (Java) & Selenium (Java). Automating API tests for the web application using JavaScript in Postman tool.
Responsibilities:
• Test case creation from requirements & Logging them in Azure Devops.
• Web & mobile testing: Running Component, Integration, Performance, User Acceptance, end-to-end Regression,UAT, Sanity, & Smoke test cases after every build release.
• Reporting defects in Azure Devops & verifying fixes for all mobile/Web applications.
• Automating regression test cases for Web & Mobile test cases:
• Developing Appium 9.0 scripts for Naive Android & iOS apps using Java &Cucumber
• Identifying mobile App objects: UI Automator (Android)&Appium Inspector(Iphone)
• participated in developing Appium framework for both Android & iOS: Built re- usable utilities common for both Android and iOS apps (Ex: Final price formatting, logging, Calendar, & receipt verification utilities).
• Used virtual devices(Emulators & Simulators) & real devices for test cases validations
• Developing Selenium 4.0 scripts for one big Web application using Java & cucumber
• Utilizing Java Streams for optimizing Web & Mobile automated scripts for adding products to cart & price verification.
• Troubleshooting and updating Maven dependencies for Selenium & Appium tools that utilize (both) the following framework components: TestNG library, Page Object Pattern, Log4J, Grid (Selenium) with Sauce Labs, Excel Data Driven Testing, DataBase Connection, Extent HTML reports, & Cucumber.
• Resolving Azure Devops merge conflicts by collaborating closely with team members.
• Testing Web APIs: Writing JavaScript functional validations for complex nested Json responses in the ‘Test’ tab of Postman. API scripts are scheduled in Azure Devops to automatically execute.
• Utilizing Charles proxy to monitor data flow of payment gateways for making orders.
• Utilizing Microsoft Dynamics 365 Sales hub (CRM) to sign in for the outlook account.
• Participating in creation & update of automation jobs in Selenium & Appium: Smoke & Regression automation suites are automatically triggered to execute on Grid once a build is deployed (Smoke) or a specific date & time is scheduled (Regression)
• Examining generated detailed Extent HTML reports & Log4J logs of passed/failed test cases, to analyze the root cause of failed scripts.
• Participating in daily Agile meetings to monitor progress, blockers, deadlines, & discuss bugs posted with critical/ high priorities.
• Deployment of Mobile iOS applications in Test Flight platform for UAT testing before release into the App Store (Performed as the last stage of testing). QA Automation Engineer (Contract) July 2019 – January 2021 Loblaw Companies Limited, Brampton, Ontario
Project description: An 18-month contract project for converting over 1300 supply chain management manual UI functional test cases into automated test cases. Automating API tests using Java Rest API automation framework.
Responsibilities:
• From scratch, solely Built and maintained Selenium Automation framework with Java/Cucumber utilizing all modern framework components: TestNG, Maven, Page object pattern, Log4j, Selenium Grid, Excel, Data Driven testing, Extent Reports, MySQL Database Connection, & AUTO IT.
• Integrated this Selenium automation framework with CI/CD tools: Jenkins (Upgraded to GitLab) and BitBucket.
• On weekly basis: Identifying automatable test cases out of the + 1300 already existing manual test cases and assigning them to team members.
• Developing automation scripts for the identified manual test cases.
• Attending daily Agile meetings with the project manager and other QA team members to discuss automation progression/ blockers concerning automating the assigned test cases.
• Performed Cross Browser Automation with Selenium Grid using Sauce Labs cloud integration.
• API Automation: Testing various API’s via creation of automation scripts in REST API with Java. Contracts are provided with all requests information for various APIs. Some request data is obtained from the Network Tab in developers tools. Scripts are scheduled in GitLab to automatically execute with HTML reports providing elaborate execution results.
• Submission of automated test cases, in accordance with the set deadlines, to SDET members for review, feedback, & approval.
• Pushing approved code into Bitbucket repository with descriptive commit messages containing the name of the .java class files/ methods created along with the corresponding numbers/IDs of the automated manual test cases.
• Resolving merge conflicts by coordinating with other team members.
• Running full automation suite via scheduling from Gitlab and analyzing the root cause of the failed scripts by examining the detailed HTML extent reports of the passed/ failed scripts & examining log4j automation logs and failed assertions.
• Filing detailed bug reports in Jira with screenshots, logs, & priority level.
• Participated in code review sessions with the SDET team members to ensure that automation scripts match the quality standards before pushing into the repository. Capital Markets QA Analyst (Contract) June 2018 –July 2019 Morgan Stanley, Montreal, Quebec
Project description: In charge of trading platform QA for North American and Japanese markets. Ensured that trading operations on the two trading platforms (The trader’s and that of Morgan Stanley) are bug free. Automating new functionalities using Morgan Stanley’s in-house automation framework with python prior to the new features’ release. Responsibilities:
• Ensuring data is synced properly between traders’ platform and that of Morgan Stanley according to requirements & System use cases. Example: Price negotiations, transitional states on ticket, ticket settings & ticket final trading status.
• Documenting requirements of new features into ALM and building comprehensive test cases that are manually executed & fully automated once regression tests are completed with bug fixes verified.
• Automation of new UI features using in-house automation framework with Python
• Submission of automation scripts to SDET team for review and feedback prior to pushing code into Bitbucket repository.
• Mentoring new team members on Morgan Stanley’s in-house automation tool: Explaining framework components in the standardized project skeleton, how locators are stored, the re-usable method utilities fed to the class files, the prioritization of test execution, etc
• Participated in the initial code review sessions for new team members before submission of automation scripts to SDET for final review.
• Participated in daily Agile meetings to discuss progress, blockers, give time estimates/ updates on testing tasks and open bug tickets in Team Foundation Server (TFS). Medical Device/ Health Care Software Verification and Validation Specialist Conavi Medical, Toronto, Ontario March 2016- May 2018 Responsibilities:
• Start up: Building QA infrastructure by writing a test plan and elaborate test cases
(Traceability matrices format) for the console UI software used to operate heart catheters.
• Procuring and logging into ALM existing/ new requirements from design documents, console’s user manual, exploratory testing, attending development meetings, and communication with developers.
• Ensuring compliance with relevant regulations and quality standards: ISO 13485, CFR Title 21 Part 820, FDA 510(k) process for Class II devices.
• For each logged requirement in ALM, created elaborate test cases (With negative scenarios) to ensure the matching of the requirement with the actual behavior in console.
• Creation of Test cases to cover the following areas: Unit testing (For console new features), Integration testing (Validating key areas when new console features are integrated with the rest of the console UI), End-to-end regression testing, Sanity, & smoke testing as a final step before the release of the console UI software into production.
• Translating non-functional & complex technical requirements for the working of ultrasound and laser modalities into simplified, manageable, and detailed test cases.
• Testing of the GUI of the Conavi Hummingbird Console used to operate the heart catheter inserted inside patient’s heart. Results are recorded in traceability matrices along with the Jira bug report numbers.
• Validating the ultrasound and laser (OCT) medical images.
• Verifying the ability of the health care practitioner to manipulate images (Such as rotation, area measurement, Slicing, 2D & 3D images reconstruction, etc.)
• Testing of DICOM to ensure proper standards of storing & transmitting medical images.
• Posting, tracking, & verifying fixes in accordance with deadlines.
• Submission of both: Design Description & Validation reports (IEEE format) of: Any third party equipment intended in the aid of verifying the various functions used by the Conavi Hummingbird Console that controls catheters insertion into the human heart(Such as beam intensity/depth, 2D/3D image producing features). And, that for medical phantoms of different shapes and sizes, simulating the human heart- Arteries and heart chambers.
• Hardware Testing: Writing and executing hardware test cases of heart catheters with & without insertion into imaging phantoms mimicking human heart and tissues. Blackberry Core Applications Verification & Validation Specialist Blackberry, Waterloo, Ontario June 2014- February 2016
• Creating and maintaining test cases from requirements for Blackberry OS applications for the devices of Blackberry Classic & Blackberry Priv.
• Functional testing of blackberry OS applications from handheld and server perspective:
• Handheld perspective: Extensive testing of Mail, Calendar, & Contacts utilizing Outlook, Exchange, & Domino mail clients. Testing of attachments, BBM Messenger, Notepad, Browser, and the overall GUI.
• Server perspective: Functional testing of Blackberry Enterprise Server (BES) from a system administrators and a blackberry user’s perspective, with the user level testing focused on the interaction between the hand-held and the BES.
• Regression and integration testing for Blackberry OS software bundles.
• Logging software defects and verifying fixes.
• Maintaining and managing verification and validation database work items.
• Daily Agile meetings to discuss progress, blockers, & deadlines Wi-Fi QA Tester (Internship) May 2012– September 2012 Blackberry, Waterloo, Ontario
• Test planning, development, & execution of functional test cases for the Unlicensed Mobile Access (UMA) /GAN software features designed to improve service & prevent drop calls in areas of limited or no mobile coverage network.
• White-Box testing: Data flow analysis for the UMA/GAN.
• Reporting defects, & verifying bug fixes for the UMA/GAN features of the Blackberry Curve 9320/9220 software bundles awaiting release.
• Reporting software defects in Jira and verifying fixes. Software QA Test Engineer-(Internship) May 2011 – September 2011 Blue Coat Systems Inc. Waterloo, Ontario
• Functional testing on Proxy SG software products and its visual policy manager. components utilizing different operating systems and platforms (Windows, Linux, & MAC) including SGOS 4.1 & 4.2 SGOS 5.1 & 5.2 software releases.
• Requirement gathering, creating, & executing test cases for the visual policy manager feature.
• Physical Installation and hardware testing on new proxy machines.
• Utilizing VMware to create multiple virtual environments/ setting up multiple server systems.
• Reporting software defects in Bugzilla and verifying fixes.
• Creating and modifying test cases for new product releases.