2

My software testing experience is from a functional business scenario background. I am moving to another job that is very similar to this but is predominantly web-based testing. Do you know what differences in testing approaches and coverage I might potentially see from functional (predominantly) Web testing?

Apologies if this is a vague Question. Brief Description of duties:

  • Experience in a software testing role performing functional, integration and regression testing
  • Good understanding of the software development life-cycle
  • Good understanding of testing methodologies
  • Test resource planning and assignment
  • Analysis of functionality delivered vs. business requirement

3 Answers 3

1

Functional testing is a huge topic, it kinds of includes web-based testing.

Web-testing has received a huge amount of attention in recent years.

  1. For starters, you may want to check out Selenium IDE, Selenium IDE plug in link. It is a very useful record-and-replay tool for web testing.
  2. When you have more experience, you will be asked to develop automated test scripts; then you want to check it out Page Object Model. You can implement a page object model in popular languages such as Python, C#, Java and etc.
  3. While testing web pages, you will sure come across Xpath, Css Selectors, you can find their cheat sheet here. Xpath, Css Selector cheat sheets
0
1

Testing is usually divided between manual and automation. Automation requires programming skills and pays more. You learn by doing in your spare time. There are plenty of free tutorials and free tools that you can install on your machine and start to learn. Put in the evening and weekend hours. It is only work if there is something else you would rather be doing.

This CBOK is old but might be of use.

Software Test Automation Body of Knowledge (STABOK) might also be useful.

From your previous testing experience you will know that there are data driven testing and choice driven testing techniques. On a webpage, the user can choose which buttons to click and which pages to navigate to. I create an activity diagram to represent these choices. Then starting at the top I use a yellow hi-lighter to trace a path from the top to an exit point. This path is given a descriptive title and becomes test case #1. I then trace another path from top to bottom and label this test case #2. I continue doing this until all the paths in the activity diagram are covered. Industry statistics will tell you that covering 100% of the paths will uncover 86% to 94% of the latent bugs in a system. Uncovering the remaining bugs will cost ten times the amount spent on path coverage and is only justified for life critical systems. For a business application, have support open a bug for the last row being cut-off.

Use cases are really just flattened activity diagrams convenient for representation in Microsoft Word. The first thing that I do with a use case is to transform it into an activity diagram so that I can generate test cases.

Agile and Behavior Driven Development often go hand in hand. Learning cucumber will help here. The BDD language for cucumber is Gherkin which can be used even for manual testing.

A journey of a thousand days begins with a single step. Enjoy the journey.

0

It's too broad topic. Here are some capsulized fundamentals and you can research on each points.

Web application testing, a software testing technique exclusively adopted to test the applications that are hosted on web in which the application interfaces and other functionalities are tested. Some or all of the following testing types may be performed depending on your web testing requirements.

1. Functionality Testing - This is used to check if your product is as per the specifications you intended for it as well as the functional requirements you charted out for it in your developmental documentation.The below are some of the checks that are performed but not limited to the below list:

  • Verify there is no dead page or invalid redirects.
  • First check all the validations on each field.
  • Wrong inputs to perform negative testing.
  • Verify the workflow of the system.
  • Verify the data integrity.
  • -

2. Usability testing - Usability testing has now become a vital part of any web based project. It can be carried out by testers like you or a small focus group similar to the target audience of the web application.To verify how the application is easy to use with.

  • Test the navigation and controls.
  • Content checking.
  • Check for user intuition.

3. Interface testing - Performed to verify the interface and the dataflow from one system to other. Three areas to be tested here are - Application , Web and Database Server Application: Test requests are sent correctly to the Database and output at the client side is displayed correctly. Errors if any must be caught by the application and must be only shown to the administrator and not the end user.

Web Server: Test Web server is handling all application requests without any service denial.

Database Server: Make sure queries sent to the database give expected results.

Test system response when connection between the three layers (Application, Web and Database) can not be established and appropriate message is shown to the end user.

4. Compatibility testing - Compatibility testing is performed based on the context of the application.

  • Browser compatibility
  • Operating system compatibility
  • Compatible to various devices like notebook, mobile, etc.

5. Performance testing - Performed to verify the server response time and throughput under various load conditions.

Load testing - It is the simplest form of testing conducted to understand the behaviour of the system under a specific load. Load testing will result in measuring important business critical transactions and load on the database, application server, etc. are also monitored.

Stress testing - It is performed to find the upper limit capacity of the system and also to determine how the system performs if the current load goes well above the expected maximum.

Soak testing - Soak Testing also known as endurance testing, is performed to determine the system parameters under continuous expected load. During soak tests the parameters such as memory utilization is monitored to detect memory leaks or other performance issues. The main aim is to discover the system's performance under sustained use.

Spike testing - Spike testing is performed by increasing the number of users suddenly by a very large amount and measuring the performance of the system. The main aim is to determine whether the system will be able to sustain the work load.

6.Database Testing- Database is one critical component of your web application and stress must be laid to test it thoroughly. Testing activities will include-

  • Test if any errors are shown while executing queries
  • Data Integrity is maintained while creating , updating or deleting data in database.
  • Check response time of queries and fine tune them if necessary.
  • Test data retrieved from your database is shown accurately in your web application

.7 Security testing - Performed to verify if the application is secured on web as data theft and unauthorized access are more common issues and below are some of the techniques to verify the security level of the system.

  • Injection
  • Broken Authentication and Session Management
  • Cross-Site Scripting (XSS)
  • Insecure Direct Object References
  • Security Misconfiguration
  • Sensitive Data Exposure
  • Missing Function Level Access Control
  • Cross-Site Request Forgery (CSRF)
  • Using Components with Known Vulnerabilities
  • Unvalidated Redirects and Forwards

Not the answer you're looking for? Browse other questions tagged or ask your own question.