“I had the pleasure of working with Amr in the Quality Owner Group at cleverbridge. As a leader, Amr played a crucial role in deepening my understanding of quality assurance. His extensive knowledge and experience in quality assurance helped me to overcome complex challenges and improve my skills. What sets Amr apart is his commitment to helping others succeed. He is always approachable and willing to share his expertise and invest time in the development of his colleagues. His positive attitude and collaborative approach have created a supportive environment that encourages continuous learning and improvement. I highly recommend Amr to any company looking for a dedicated and knowledgeable professional. His expertise in quality assurance combined with his ability to guide and lead others makes him an invaluable asset to any team.”
Amr S.
Düsseldorf, North Rhine-Westphalia, Germany
12K followers
500+ connections
View mutual connections with Amr
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
View mutual connections with Amr
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
About
Experienced Senior Software QA Automation Engineer/Lead/Scrum Master with a background in…
Recommendations received
-
LinkedIn User
10 people have recommended Amr
Join now to viewView Amr’s full profile
Other similar profiles
-
Bishoy Khalil
Senior Software Engineer in Test | QA Automation Specialist at _VOIS
EgyptConnect -
Mohamed Nour
Sr. Software Testing Engineer
EgyptConnect -
Hadia Mohamed
Product Owner at VOIS
Cairo, EgyptConnect -
Hala Saleh
EgyptConnect -
Raafat Mohsen
Senior Test Automation/ Software Quality Control | API Testing
GizaConnect -
Ahmed Elhadad
Cairo, EgyptConnect -
Ahmed Sharaf
EgyptConnect -
Mohamed Hamad
Lead/Senior QA Analyst | STLC, Test Process Management, API Testing
Stuttgart RegionConnect -
Ahmed Abbas
AmsterdamConnect -
Aya Khaled
Digital Testing Analyst at Etisalat Misr
GizaConnect -
Mayada Hassan
GizaConnect -
Ahmed ElKhouly
Product Manager at Valeo
Cairo, EgyptConnect -
Hassan Ezzat
Software Quality Assurance Engineer @ noon | ISTQB-FL, SQL, Postman
Cairo, EgyptConnect -
Mostafa Ahmed
Testing Team Lead at e& Egypt
EgyptConnect -
Saeeda Mohamed
Software Quality Control Team Lead| ISTQB®(CTFL,CTFL-AT,CTAL-TA,CTFL-MAT))
EgyptConnect -
Salsabeel Salah
Software Development Engineer in Test (SDET)
CobhConnect -
Mohamed Hafez
United Arab EmiratesConnect -
Ziad Tawfeek
Berlin Metropolitan AreaConnect -
sara ghareb
LebanonConnect -
Hagar Romy
BerlinConnect
Explore more posts
-
Atul Singh
Alert in Selenium is a message/notification box that notifies the user about some information or asks for permission to perform a certain kind of operation. It may be used for warning purposes as well. best link to practice JavaScript alerts: https://lnkd.in/gnCnxgjb Code: import io.qameta.allure.Description; import org.openqa.selenium.*; import org.openqa.selenium.edge.EdgeDriver; import org.openqa.selenium.edge.EdgeOptions; import org.openqa.selenium.support.ui.ExpectedConditions; import https://lnkd.in/gu_MM7c2; import org.openqa.selenium.support.ui.WebDriverWait; import org.testng.Assert; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import java.time.Duration; public class Lab_325 { EdgeDriver driver; @BeforeTest public void openBrowser() { EdgeOptions options = new EdgeOptions(); options.setPageLoadStrategy(PageLoadStrategy.NORMAL); options.addArguments("--guest"); driver = new EdgeDriver(options); } @Test(groups = "QA") @Description("Test case description") public void testVerifyJSAlert() throws InterruptedException { // select box driver.navigate().to("https://lnkd.in/gnCnxgjb"); System.out.println(driver.getTitle()); driver.manage().window().maximize(); // //button[text()='Click for JS Alert'] // //button[@onClick='jsAlert'] // WebElement element = driver.findElement(By.cssSelector("button[onclick='jsAlert()']")); // WebElement elementConfirm = driver.findElement(By.xpath("//button[@onclick='jsConfirm()']")); WebElement elementPrompt= driver.findElement(By.xpath("//button[@onclick=\"jsPrompt()\"]")); elementPrompt.click(); //Aws, docker machine -> slow WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(3)); wait.until(ExpectedConditions.alertIsPresent()); Alert alert = driver.switchTo().alert(); // alert.accept(); alert.sendKeys("Atul"); alert.accept(); // alert.dismiss(); String result = driver.findElement(By.id("result")).getText(); // Assert.assertEquals(result,"You successfully clicked an alert"); // Assert.assertEquals(result,"You clicked: Ok"); // Assert.assertEquals(result,"You clicked: Cancel"); Assert.assertEquals(result,"You entered: Atul"); } @AfterTest public void closeBrowser() throws InterruptedException { Thread.sleep(5000); driver.quit(); } } #javascriptAlerts #selenium #Automationtesting #java #sdet
7
1 Comment -
Tayyaba Saeed
Quality Assurance (QA): - Proactive approach to prevent defects and errors - Focuses on processes and procedures - Ensures compliance with standards and regulations - Identifies and mitigates risks - Continuously improves processes and methodologies - Emphasizes training and development Quality Control (QC): - Reactive approach to detect and correct defects - Focuses on products and services - Verifies compliance with standards and regulations - Identifies and corrects errors and defects - Monitors and controls processes - Emphasizes inspection and testing QA is about building quality into processes QC is about checking the quality of outputs Both are essential for ensuring high-quality products and services!
9
-
Umair Haider
🛠 QA Workflow for Ticket Management 🛠 1️⃣ Pre-Test Validation ➤ When QA receives a ticket for testing, they ensure all checks are passing. ➤ If any checks are failing, the ticket is returned to the development team for fixes. 2️⃣ Acceptance Criteria Review ➤ QA tests the feature against the defined Acceptance Criteria (AC). ➤ Based on the AC, they create detailed Test Cases (TC). ➤ If Test Cases already exist: i. Update them to align with the current requirements. ii. If automated, ensure they are updated accordingly. 3️⃣ Automation Pipeline ➤ For new or updated Test Cases requiring automation, QA creates an Automation Test Ticket 🖇️ to include it in the automation suite. Upwork: https://lnkd.in/dCbCK43e Blog: https://lnkd.in/diC4BvUU Email: cheemaumair912@gmail.com #QualityAssurance #QATesting #AutomationTesting #WorkflowOptimization #TestManagement #ACReview #AutomationPipeline #SoftwareTesting #BugTracking #TestCaseDesign #TestingProcess #SoftwareQA
7
-
Ujjwal Tyagi
🚀 Automated Login and Product Interaction Test with Selenium WebDriver 🚀 This Selenium WebDriver automation test performs the following actions on the Swag Labs website: Login Test: Add to Cart Test: Product Sorting: Link and Image Count: Social Media Test: package january11; import org.openqa.selenium.chrome.ChromeDriver; import https://lnkd.in/gkwiWEX9; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class SwagLabsLogin { WebDriver driver; @BeforeClass public void setUp() { driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10)); } @Test(priority = 1) public void openLoginPage() { driver.get("https://www.saucedemo.com/"); String expectedTitle = "Swag Labs"; String actualTitle = driver.getTitle(); Assert.assertEquals(actualTitle, expectedTitle, "Page title does not match!"); System.out.println("Login page opened successfully with title: " + actualTitle);} @Test(priority = 2) public void performLogin() { WebElement userName = driver.findElement(By.id("user-name")); userName.sendKeys("standard_user"); WebElement password = driver.findElement(By.id("password")); password.sendKeys("secret_sauce"); WebElement loginButton = driver.findElement(By.id("login-button")); loginButton.click(); String expectedURL = "https://lnkd.in/g2cWZ-8c"; String actualURL = driver.getCurrentUrl(); Assert.assertEquals(actualURL, expectedURL, "URL after login does not match!"); System.out.println("Login successful and navigated to: " + actualURL); } @Test(priority=3) public void AddtoCart() { WebElement AddtoCart=driver.findElement(By.xpath("//button[@class=\"btn btn_primary btn_small btn_inventory \"][@id=\"add-to-cart-sauce-labs-backpack\"]")); AddtoCart.click();} @Test(priority=4) public void SelectProduct() { WebElement Search= driver.findElement(By.className("product_sort_container")); Search.click(); Select Price= new Select(Search); Price.selectByValue("lohi");} @Test(priority=5) public void LinkCount() { List<WebElement> links = driver.findElements(By.tagName("a")); System.out.println("Number of links on the page: " + links.size());} @Test(priority=6) public void ImageCount() { List<WebElement> Imeags = driver.findElements(By.tagName("img")); System.out.println("Number of links on the page: " + Imeags.size());} @Test(priority=7) public void ConnectwithLinkdln() { WebElement Linkdln= driver.findElement(By.xpath("//a[text()=\"LinkedIn\"]")); Linkdln.click();} @AfterClass public void tearDown() { if (driver != null) { driver.quit();}}}
4
-
Emre Erol
🌟 Excited to share that I’ve completed the Test Star training program organized by System Verification, covering Test Automation (UI and API), Performance Testing, and CI/CD! 🚀 After this intensive journey, I’m thrilled to have passed the #ISTQB Performance Testing Specialist certification exam. 🎉 A huge thank you to Andreas Axelsson and the entire Test Star team at System Verification for their support and guidance throughout this program. 🙏 Looking forward to applying these new skills to drive quality and performance in our projects! #SystemVerification #SoftwareTesting #PerformanceTesting #ContinuousImprovement #TestAutomation #TestStar
76
17 Comments -
Savitha Parvatgoudar
Best Practices for QA * Test Early and Often: Start testing as early as possible in the development process. * Write Clear and Concise Test Cases: Ensure that test cases are easy to understand and execute. * Automate Repetitive Tasks: Use automation tools to streamline the testing process. * Prioritize Test Cases: Focus on critical features and high-risk areas. * Collaborate with Developers: Work closely with developers to identify and fix defects. * Continuously Improve Your Testing Process: Learn from past experiences and adapt your testing strategies. By understanding these fundamental concepts and applying best practices, you can effectively test software to ensure its quality and reliability. Happy Testing.
6
-
SoftwareaAi
Junior QA: - Doesn't know Git - Doesn't know how to review code programmatically - Doesn't know about testing techniques - Doesn't know how to write good test cases Semi-Senior QA: - Doesn't know Git - Begins to understand how to review code programmatically - Begins to understand about testing techniques - Begins to understand how to write good test cases Senior QA: - Begins to understand Git - Understands a little more how to review code programmatically - Understands about testing techniques - Understands how to write good test cases We have all been Juniors at some point. Without Juniors there are no Seniors. Let us learn to teach and be patient with those who want to build their careers. hashtag #qa hashtag #junior hashtag #senior hashtag #teach hashtag #learn hashtag #patience
11
-
Muhammad Usman
✨✨✨A few tips you need to understand as a SQA:💯🚀✨✨ 1. Understand Requirements: Grasp project specifications thoroughly before testing. 2. Develop Detailed Test Plans: Create comprehensive test plans covering all aspects of the software. 3. Use Test Automation: Automate repetitive and critical tests to enhance efficiency. 4. Prioritize Testing: Focus on critical functionalities and high-risk areas. 5. Document Bugs Clearly: Provide detailed steps to reproduce bugs for swift resolution. 6. Perform Regression Testing: Regularly validate existing functionalities post changes. 7. Stay Organized: Use efficient tools to manage test cases and results effectively. 8. Continuous Learning: Stay updated with the latest testing methodologies and tools. 9. Provide Clear Reports: Generate concise test reports with actionable insights.
12
-
Mahnoor Murtaza
The hidden trap of QA engineers: Focusing on bugs, not value. Most QA professionals: • Chase defects relentlessly • Overlook the bigger picture • Miss opportunities for improvement The result? Software that works, but doesn't delight. Break free from the bug-hunting mindset: 1. Understand the user's journey Not just test cases. 2. Question feature relevance Not just functionality. 3. Suggest enhancements Not just report issues. 4. Collaborate on design Not just validate it. 5. Measure user satisfaction Not just test coverage. Remember: Quality isn't just about absence of defects. It's about presence of value. Your role? Bridge the gap between working software and delightful experiences. Challenge: This week, propose one user-centric improvement that goes beyond bug fixes. What will you suggest to enhance user value? #qualityassurance #userexperience #softwaretesting #bugs #newmonth
85
3 Comments -
Gaayatri Borse
#testing #QA #softwareTesting #qualityAssurance 🔹Functional testing: Functional testing verifies that software performs its intended functions correctly. Key types include: 1⃣ Unit testing: Tests individual components or functions. 2⃣ Integration testing: Tests the interaction between components. 3⃣ System testing: Tests the entire system as a whole. 4⃣ Acceptance testing: Tests the system from the end-user perspective. 5⃣ Smoke testing: A quick check of essential functions. 6⃣ Sanity testing: A shallow check of basic functionality. 7⃣ Regression testing: Ensures that changes haven't broken existing functionality.
42
1 Comment -
Repeato
As QA engineers, the pressure to deliver flawless software can be overwhelming. Mistakes happen, but they can also be a valuable learning experience! 🌟 In our latest blog post, we explore: ✅ Understanding the nature of software testing ✅ Steps to take after discovering missed bugs: • Investigate the root cause 🔍 • Implement automated tests 🤖 • Broaden your testing techniques 🔄 • Document and communicate findings 📄 ✅ Changing the perception of your role to foster a team-oriented approach ✅ Practical tools to enhance your testing process Join us in turning mistakes into opportunities for growth and improvement! #SoftwareTesting #QA #QualityAssurance #ContinuousLearning
-
Yehia Metwally
⚡I am Really thrilled to share My Test Automation Project with Native Selenium 4 💥💥💥 Here is An Overview about the Project: 1- Written by Java and based on Maven with simple script free of loops or complex logics 2- Implement number of Best Practices either in Project Structure, Synchronizations and Validations 3- Using TestNG as the Testing Framework 4- Using Fluent Page Object Model Design Pattern in writing Test script and Page actions, thus chaining the Scenario steps and Validations in one line of code 5- Using Fluent Wait Strategy to Synchronize all actions on elements without any Thread Sleep 6- Designing Powerful Util Class for Different Actions with Web Elements and Bot Pattern for Abstracting Successive interactions with Web Element into one method 7- Test Data Management such that store All Test data in Json Files and Retrieve the Updated Test Data of Products and Users from MySQL Database 8- Generating Very Detailed Allure Reports with All Scenario Steps And Screenshots for Passed,Hard-Assertion-Failed,Soft-Assersion-Failed Tests and for API Requests and Responses 9- Perform Test Execution On Local / Headless / Remotely using Selenium Grid with Docker Containers 10- Performing Parallel Execution from CI/CD Pipeline with GitHub Actions, Supplied by Selenium Grid with Docker, To Run 14 Parallel Tests at same time, thus Reducing Execution time to reaches 100 seconds only to run all the 16 tests instead of 8 minutes when run sequentially 11- Bypassing UI Login for All Tests, Thus Reducing Execution time and dependancy on working login 12- Using Dynamic Locators for Identifying Tabular data instead of complicated XPath expressions 13- Implementing the Test Automation Pyramid such that Run Tests Over API besides the UI, Thus Reduce the full Dependency on Element Identifications and Allow Data Validations on API 💥For further details and installation steps, Go to readme file https://lnkd.in/dJMbEwYR 💥And Very Special Thanks to Mohab Mohie for his valuable advices and instructions for the best designs and practices, Also I am very grateful for Mahmoud ElSharkawy for his great repos which gained me lots of experience i really recommend them and i would be my pleasure if you share me your comments 💥 Videos Review Project Structure https://lnkd.in/de5TC9Pb Run Test (API+GUI) Locally on Chrome through XML File https://lnkd.in/dvCyBnzA Run Test with soft assertion failure, Remotely on Chrome through Selenium Grid with Docker Container https://lnkd.in/d7aVYCuU Run Regression Workflow of 16 Tests through Pipeline using GitHub actions in Parallel within 100 seconds https://lnkd.in/dwrRDcvu 💥Allure Reports for Parallel Test (90 secs) & Sequential Test (8 mins) https://lnkd.in/dderUEEn
47
1 Comment -
Henry Okolie
🚀 Selenium Testing: BDD vs. Pytest In the world of Selenium testing, both BDD (Behavior-Driven Development) and Pytest play crucial roles, but they serve different purposes. 🔍 BDD (Behavior-Driven Development): Purpose: Focuses on collaboration between technical and non-technical stakeholders using natural language to define test scenarios. Syntax: Tests are written in Gherkin syntax (e.g., "Given, When, Then"). Best For: Aligning business requirements with tests, improving communication across teams. Tools: Behave, pytest-bdd 🧪 Pytest: Purpose: A powerful testing framework for Python, designed for unit, integration, and functional testing. Syntax: Tests are written in Python functions with assertions. Best For: Developer-centric testing, flexibility, and scalability. Tools: Pytest Choosing the Right Approach: Use BDD for high-level behavior verification and stakeholder communication. Use Pytest for robust, flexible testing of code functionality. #Testing #BDD #Pytest #Selenium #QualityAssurance #SoftwareDevelopment
33
6 Comments -
Sitara Shafiq
Misconception about SQA: Software Quality Assurance isn't about making Software 100% bug free. 1. Real Goal: It's about making sure software works properly for the customers. 2. Reasonable Expectation: There might still be some bugs, but we focus on fixing the important for examples functional, UI/UX, Performance, Regression, etc. 3. Keep Improving: SQA is an ongoing process to make software better over time. 4. User Matters: The main aim is to make users happy with the software, not to make them flawless.
69
1 Comment -
Test Tech Junction
The road to QA is paved with endless possibilities! 🚀 Ever feel like you're chasing something, but not sure what? I've got news for you: Your first QA role is just the beginning. Here's why becoming a QA tester is a game-changer: 1️⃣ It's your gateway to tech 2️⃣ You'll gain invaluable industry insights 3️⃣ It opens doors to multiple career paths 4️⃣ You'll develop a problem-solving mindset 5️⃣ It's a stepping stone to higher-paying roles But here's the kicker: QA isn't just about testing software. It's about discovering who you can become. From that first QA role, you can pivot to: ✅ Scrum Master ✅ Business Analyst ✅ Product Owner ✅ Data Analyst ✅ QA Engineer ✅ And so much more! The best part? You'll sleep better at night knowing you can be whoever you want to be in tech. So, are you ready to start your road to QA? Let me know in the comments: What's your dream tech role? 👇 If you found this helpful... 👍 React ♻️ Share 💬 Comment So more people can discover their potential in tech. #qacareer #techopportunities #careeradvice --- Let's connect
1 Comment -
Daniyal Farman
🚀 Exploring Automated Testing Tools: Cypress vs. Selenium 🌐 Assalam O Alaikum LinkedIn community! 👋 Are you navigating the realm of automated testing? 🛠️ I'm keen to hear your thoughts on two powerhouse tools: Cypress VS Selenium 🔍 Which tool do you swear by for long-term success and why? 💡 Share the standout pros and cons you've encountered with Cypress and Selenium. 📈 In your experience, which tool scales better and is easier to maintain? Let's ignite a conversation in the comments! ⬇️ Your insights will help guide my journey in selecting the ideal tool. #Cypress #Selenium #AutomatedTesting #TechInnovation #DeveloperCommunity
1
-
Adekanyinsola Akinwale
5 Important Things I’ve Learned Not to Do as a QA/Software Tester 1. Don’t Assume Anything: Assumptions can be costly in QA. Whether it’s assuming a feature works as expected without testing or thinking a bug is too minor to escalate, these assumptions can lead to overlooked issues. I've learned to question everything and validate even the smallest details. 2. Don’t Skip Documentation: Skipping documentation might save time in the short term, but it can lead to confusion and repeated mistakes later on. I’ve realized that thorough documentation is crucial not just for my own reference, but also for clear communication with the development team and stakeholders. 3. Don’t Ignore Edge Cases: It’s easy to focus on the main functionalities and overlook edge cases that might seem unlikely. However, these scenarios often expose critical issues. I’ve learned to test rigorously across all possible scenarios, even the ones that seem less probable. 4. Don’t Rush the Process: Deadlines can be tight, but rushing through testing can result in missed bugs or incomplete coverage. I’ve found that taking the necessary time to test comprehensively is always worth it in the long run, ensuring the product is as polished as possible. 5. Don’t Hesitate to Ask Questions: In QA, there’s no room for uncertainty. If something isn’t clear, whether it’s a requirement or a functionality, I’ve learned to ask questions immediately. This proactive approach prevents misunderstandings and ensures that the testing process is aligned with the project’s goals. Learning what not to do is just as important as mastering the right techniques in QA. It’s a continuous learning journey, and these lessons have shaped my approach, helping me to deliver higher quality work and more reliable software.
857
37 Comments
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore MoreOthers named Amr S.
-
Amr S.
HR & IT Recruiter
United Kingdom -
Amr S.
Founder at Advanced Software
Amman, Jordan -
Amr S. Mohamed
PhD @University of Toronto | Lecturer @Queen's University | AI for Cyber-Physical Systems
Mississauga, ON -
Amr S. Raway
VDC Lead l Digital Design Development Manager l Toronto - Ontario, Canada
Greater Toronto Area, Canada -
Amr S
Student at upGrad.com
Bengaluru
49 others named Amr S. are on LinkedIn
See others named Amr S.