Applications Architecture Client Server Architecture
Software Applications E-Commerce Applications Enterprise Applications 2 Common Type of Applications • Applications that are commonly used to buy and sell products and services • Accessed by thousands and millions of users through the internet • Security, data privacy, performance and usability is paramount in these applications • Applications must generally be easy to use and intuitive • Ex: yahoo.com, ebay.com, online banks, amazon.com • Applications that corporations use for their day to day operations • Have a lot of data dependency on other upstream or downstream applications • Used by defined set of trained users • Uses complex business process knowledge • Are either home grown or vendor built such Oracle, SAP, IBM, etc
So, why is testing different? In Client Sever Architecture • Application is loaded at the server. In every client machine, an exe is loaded to call this application • There are no urls and hyperlinks it contain only forms • Only authenticated users use the application – security not a concern
and Web Applications …? • Application is loaded at the server.but,No exe is installed at the client machine. We have to call the application through browser • In Web Testing, you test the application with different browsers and different versions of the same browsers • A higher degree of Security, Performance and Reliability testing is required for web based applications than client server applications
Basic Concepts in Web Applications • Browser Dependency • Web Services • Authentication • Web Log • Security • Cookies • Cache • Proxy
Cookies • are information sent by the server to the browser and is used for authentication, tracking sessions and maintaining specific information about each user(machine). Cookies are generally stored on the hard drive.
Cache (Web Cache) • Refers to a copy or copies of pages or images based on previously visited pages so that they can be reused. This reduces bandwidth and processing requirements of the web server, and helps to improve response for users.
Difference Between Cache and Cookies • Cache helps the browser go faster since it reuses the files already viewed • Cookie refers to the information about a user.
Web Logs Log files on the server that contains information from which the following can be derived: • Activity statistics • Pages accessed • Browsers of the users • Operating system of the user • Errors returned
Web Testing Tools • Code Validators • Performance testing tools • Link Check • Automation – UI and Backend • Other web development tools such as Fiddler, Firebug
Web Testing Tools – ExamplesNote: Can be Open Source or Licensed • Code Validators - Used for validating HTML and XML code syntax and compliance Example: HTML and XML Validator – W3C • Performance Testing - Used to simulate conditions for performance testing and gather statistics Example: Jmeter, OptimizeIt • Link Check - Used to identify any broken links or ‘dead links’ Example: LinkChecker • Automation Tools - Tools that allow automate a manual process already in place that uses a formalized testing process Example: WebTest, QTP, Junit (API Automation)
Summary • Types of Web Applications? • Difference between testing Client-Server and Web Applications? • What is the difference between Cache and Cookies? • What tools have you used for testing Web Applications? • What do logs contain?