Rich dad education

Tuesday, 30 April 2013

Web Application Testing and 6 Functional Testing Tools for Web Applications


How to test Web Application?
Website Testing is testing the web based application and finds the all possible bugs and need to fix all before the changes uploaded on production or become live.
All same scenarios are also applies here for the web based testing i.e. functional testing, traffic or performance testing etc.
What are the typical problems in web testing?
The following problem may arise in web testing:
  • Functionality problems
  • User Interface related problems
  • Performance related problems
  • Database related problems
  • OS compatibility problems
  • Browser compatibility problems
  • Security related problems
  • Load related problem
  • Navigation problem
 Write the test scenarios for testing a web site?
First we have to assume that Graphical User Interface (GUI) objects and elements of a website together is One Test Scenario. Then, we have to check all the links and buttons. Then we have to check all forms are working properly or not. Prepare Test Scenarios of the forms of a webpage. We can identify 4 different types of Test Scenarios of a form:
  • Check the form with valid data in all the fields.
  • Check the form with invalid data which violate the validations of fields in the form.
  • Check the form by leaving some mandatory fields in the form.
  • Check the form with existing record details.
While testing a website, which are the different configurations which will have to be considered?
These configurations may demand for change in strategy of the webpage. The most important factors that need consideration are following:
  • Hardware platform: some user may use the Mac platform, some may use Linux, while others may use Microsoft platform.
  • Browsers: browser and their versions also change the layout of the web page. Along with the browser versions, the different Plug-Ins also has to be taken into consideration. The resolution of the monitor also with color depth and text size is some of the other configurations.
What is the difference between the static and dynamic website?
The differences between Static and Dynamic website are following:
  • A static website contains Web pages with fixed content where as in Dynamic web site content of the web page change with respect to time.
  • Static website are easy to create and donot require any database design but in case of dynamic website it require good knowledge to develop the website with programming and database knowledge.
  • In static website user cannot communicate with other and same information will be displayed to each user where as in dynamic website user may communicate with each other.
How do you perform testing on web based application using QTP?
We can do the performance testing using QTP by adding the web add-in in the QTP at the startup of the QTP. Now to make URL of the website available to the QTP we have to type the URL of the site. So that while running QTP will open the application and do the testing
What are steps you will perform for securing a new web server?
Some of the important steps to be carried out for securing the web server are following:
  • Minimize rights.
  • Update permissions.
  • Delete default data and scripts.
  • Make use of software firewall.
  • Enable and make use of IIS logging.
  • Regular backup.
What is usability testing in web testing?
Usability testing perform with reference to the end user. In usability testing we find how easily end user can access the application. In terms of websites and software applications, usability is defined as the ease at which a person with no programming knowledge can use the software to complete the desired task.
Usability is comprised of following:
  • Learnability is how easy it is for a new user to accomplish tasks the first time they visit your website.
  • Memorability is how easy it is for someone to come back to using your website after they haven’t used it for a period of time.
  • Efficiency is how quickly users can complete tasks on your site after they are familiar with its use.
What is difference between web based testing and windows based testing?
Web based testing is concern with the following:
  • Broken Links in the web pages.
  • Performance of web like response time.
  • Graphical User Interface
  • Text on the page
Where as in Windows based testing we look for :
  • Functionality
  • Intergration
What are the common bugs in web testing?
In Web based testing following bugs are very common:
  • Issues in navigation of application
  • Usability.
  • Cosmetic Issues and GUI Issues
  • Functional Issues
  • Performance issues - How time it takes to display the page to the user.
  • Load - How much load an application can handle at any point in time.
  • Stress - At how much load application will crash.
  • Flow of data - Information which is entered by user is stored in correct format.
  • If proper static information is not displayed along with text fields to enter data.
  • Links are broken, default focus is not set in forms, tab key not working, all key board short cuts are not fully functional
What is the difference b/w desktop application testing and web testing?
Desktop Testing: Desktop application testing is standalone testing, it is independent of the other application which are executing on the different machines. In this application testing, tester need not worry about number of user.
Web testing Web testing is related to client server. Web testing needs to have many testing’s like Usability, GUI, Load Testing, Performance Testing.
What is field validation in web testing?
Field validation is used to ensure that only correct data is entered into the field. We can select validation options to make sure that only correct format data can be entered into a field correctly. When validation options are selected, we can use the FileMaker Pro to displays a message when user enter data in incorrectly format. For example, you can set an option to require that users enter a value in a field. The field validations check the format of the data. To ensure this we perform the validation testing in the website. Like the email field must contain the data in email@domain.com format.
Explain some web testing tools.
Some of the webs testing tools are discussed below:
  • JMeter (load and performance tester): JMeter is a Java desktop application which is used to create the load test environment and measure performance of the application during load test. It can be used for examine the performance of static and dynamic website.
  • Selenium (Web app testing tool ):Selenium is a contains several application like Selenium IDE, Selenium Remote Control and Selenium Grid to examine and evaluate the web application.
6 Great Functional Testing Tools For Web Apps
·         Though we stress the need for manual testing under real world conditions – what we called in-the-wild testing – we also stress the importance of test tools and automation. So if you’re looking for in-the-wild testing, go check out uTest. If you’re looking for a nice list of functional testing tools, you should check out opensourcetesting.org.
·         Here are a few handy tools from their list of 122, in no particular order:
·         Anteater
Description:
Anteater is a testing framework designed around Ant, from the Apache Jakarta Project. It provides an easy way to write tests for checking the functionality of a Web application or of an XML Web service.
Requirement: OS Independent
·         AutoTestFlash
Description:
AutoTestFlash allows the recording and playback of tests writen in Flash and Flex. The tool website provides a live sample.
Requirement: Windows / Flash
·         DejaGnu
Description: DejaGnu is a framework for testing applications such as Tcl, C, C++, Java and network applications and cross testing of embedded systems. Its purpose is to provide a single front end for all tests. Think of it as a custom library of Tcl procedures crafted to support writing a test harness.
Requirement: MacOS, Windows, POSIX
·         Harness
Description:
An open source Java API for creating Java test software
Requirement: TBC
·         MozUnit
Description:
Develop test-first style or just test against regressions: MozUnit provides framework, test runner, source browser, and API hooks for personalized reports. MozUnit is part of MozLab, a suite of tools and libraries for developers of AJAX and Mozilla applications, packaged as a Firefox extension.
Requirement: Firefox
·         WebTst
Description:
WebTst is a Web development test infrastructure. It aims to simplify testing by implementing a capture engine: a Web proxy which records a tester’s actions using a real browser, and then replays them during testing. It comes with support for digital certificates, and a number of simple tests, such as cookie setting, pattern matching, response status, and many others. It features an extensible plug-in system.
Requirement: POSIX, Linux
If anybody Wants Dums and books for ISTQB Exam..give me your mail id in comment box....



Monday, 29 April 2013

STLC Life Cycle with Diagrams



Software Development Life Cycle (SDLC)
Definition - What does Software Development Life Cycle (SDLC) mean?
The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process. SDLC is a structure followed by a development team within the software organization. It consists of a detailed plan describing how to develop, maintain and replace specific software. The life cycle defines a methodology for improving the quality of software and the overall development process. This term is also known as the software development process.
SDLC consists of following activities:
  1. Planning: The most important parts of software development, requirement gathering or requirement analysis are usually done by the most skilled and experienced software engineers in the organization. After the requirements are gathered from the client, a scope document is created in which the scope of the project is determined and documented.
  2. Implementation: The software engineers start writing the code according to the client's requirements.
  3. Testing: This is the process of finding defects or bugs in the created software.
  4. Documentation: Every step in the project is documented for future reference and for the improvement of the software in the development process. The design documentation may include writing the application programming interface (API).
  5. Deployment and Maintenance: The software is deployed after it has been approved for release.
  6. Maintaining: Software maintenance is done for future reference. Software improvement and new requirements (change requests) can take longer than the time needed to create the initial development of the software.
There are several software development models followed by various organizations:

  1. Waterfall Model: This model involves finishing the first phase completely before commencing the next one. When each phase is completed successfully, it is reviewed to see if the project is on track and whether it is feasible to continue.

  2. V-Shaped Model: This model focuses on execution of processes in a sequential manner, similar to the waterfall model but with more importance placed on testing. Testing procedures are written even before the commencement of writing code. A system plan is generated before starting the development phase.
  3. Incremental Model: This life cycle model involves multiple development cycles. The cycles are divided up into smaller iterations. These iterations can be easily managed and go through a set of phases including requirements, design, implementation and testing. A working version of the software is produced during the first iteration, so working software is created early in the development process.
  4. Agile software development: This model is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.