What is web testing
– evaluating a web app based on its functionality , useability , compatibility performance and security so it works properly for end users
read
useability – how intuitive and user friendly web app is
- is navigation easy? Can user complete tasks quickly
Compatibility – ensures app works consistently across browsers , devices , operating systems
Performance - Tests app’s speed and responsiveness under various loads
Security – Identifies vulnerabilities to protect against attacks , data breaches …
challenges in web testing
browser and device compatability
Internet connection variability – web testing needs to consider different latency speeds , offline mode … ( not trivial)
dynamic and responsive interfaces – content changes based on user choices ( not trivial to test)
user interaction patterns – web apps involve multiple user sessions , login states and permissions ( now we need to test for session management , cookies , caching and handling of multi user interactions effectively)
difference between automated and manual web testing
Automated web testing executes test cases quickly and repeatedly using scripts, whereas manual web testing is slower because each test requires human intervention.
Automated testing allows test scripts to be reused across multiple test runs, whereas manual testing requires tests to be re-executed by hand every time.
Automated testing produces consistent results and reduces human error, whereas manual testing is more prone to mistakes and oversight.
Automated testing has a higher initial setup cost due to tool configuration and script creation, whereas manual testing has a lower initial cost as it only requires human testers.
Automated testing is best suited for regression, load, and performance testing, whereas manual testing is better for exploratory, usability, and ad-hoc testing.
What is crowd testing
crowdtesting - leverages large number of testers from different background and who use different devices to evaluate an application in real- world conditions
advantages of crowd testing
advantages: scalability and flexibility - very good for testing across different devices / platforms simultaneously
real world conditions- cannot think of all edge cases, helps identify issues that arise under certain conditions ie low internet connection , device model …
quick feedback
what is selinium
open source frame work that:
What is synchronisation
synchronisation - ensuring test code and web app in synch
-without synch test code might try to interact with element before fully loaded
leading to errors
3 types of synchronisation
implicit , explicit and fluent wait
what is an implicit wait
implicit wait – web driver patiently searches dom for a specified period when attempting to locate element(s) if not readily accessible
what is an explicit wait
similarly pauses test execution for a time period but difference is it continually checks whether a particular condition is satisfied
(ie -> if we pause for 10 second but find out the element is available after 2 ( this is the condition) we don’t waste 8 seconds waiting for no reason)
what is a fluent wait
fluent wait:
a type of explicit wait that allows you to control:
-polling frequency ( how often condition checked)
- which exceptions to ignore while waiting