Web application testing
Unit vs Functional
There are many different types of tests
- Usability Testing
- User acceptance testing
- Performance testing
- Security testing
- Functional Testing
- Interface testing
What kind of tests you do depends on the organisation, for instance, security will be a large issue for the banking industry, while health systems place reliability and availability high on their list
Usability Testing
Is the interface understandable by the user?
Other than doing it internally, we don't focus on the users (not customers) once the product has been released
User acceptance testing
Is the application meeting user expectations and is it ready to be deployed?
Mostly done by our QA
Performance testing
Measuring performance with various user scenarios
We mostly do this after the fact (e.g the customer opens a bug report regarding a slow SQL query)
Security testing
How hard is it to hack the application?
We have no internal security testing, although on PCI compliant projects, there's a certain level os security that has to be met. Additionally, security is mostly then handled by System admins (issuing security certificates, limiting access to the application etc.)
Functional testing
Functional tests tell a developer that the code is doing the right things.
Unit/interface testing
Unit tests tell a developer that the code is doing things right.
So what should we concetrate on (a.k.a. FUnctional or unit)?
In a way, both :)
Functional tests consist of unit tests, but the difference is that we need less unit tests to do functional testing then with doing unit testing (my rough guess is only 20% of the unit testing code)
Cute, But seriously, which one?
Ok, functional because:
- we don't have the time for unit testing - unit tests are by definition more "verbose" than functional tests so writing and maintaining them is physically more work
- we have coupled systems which means a lot of mocking for unit tests - you can mock up everything you need for a seatmap response and test is as a unit, but what we need most of the time is checking if what comes from the select_flight can be "used" by seatmap
- we don't have unit but functional problems. - we still don't have reusable components in such a way that would require unit testing (e.g. if the FlightPath module was being shared across all CKI projects)
Unit testing problem in a nutshell
Functional vs Unit testing
By Andrija Jambrović
Functional vs Unit testing
- 791