written 8.5 years ago by |
Various types of testing required for e-commerce site include:
- Developer Tests:
- It can be referred to as code level tests performed by developers of modules.
- It is the act of regression testing source code by developers. This is sometimes called "unit regression testing" but many developer tests go beyond unit testing to address integration testing as well.
- Some important philosophies with respect to developer testing are as follows:
- The goal is to find defects.
- Test early and often. The cost of change rises exponentially the longer it takes to find and then remove a defect.
- Test to the risk. The riskier something is, the more it needs to be reviewed and tested.
- Validate all the artifacts. Test all the artifacts, not just the source code, although the focus of this guidance is testing code.
- Feasibility Testing:
- This type of testing tests a new approach, often near the start of a project to make sure it is acceptable in terms of user experience.
- The feasibility test brings in a series of practical constraints by asking whether the selected alternative can be implemented given time, financial, legal, personal, and social constraints.
- By focusing the decision-maker on these constraints, the feasibility test helps to integrate ethical considerations with other aspects of a decision.
- Thus, it is an operation plan review criteria whether or not a plan is within capacity of the resources that can be made available.
An analysis and evaluation of a proposed project to is done to determine if it is technically feasible, if it is feasible within the estimated cost, and if it will be profitable.
Module Testing
- This type of testing checks individual modules have the correct functionality.
- Testing is basically done to check for correct outputs for specified inputs.
- It is the testing of complete code objects as produced by the compiler when built from source.
- The testing can be done in the target system, an emulator, simulator or any other suitable test environment.
The branches and paths in functions and modules have to be considered and when the tests will be designed not only the function of the test object is tested, but at the same time it will be checked if all branches in the software have been covered.
Integration Testing
- Basically it checks interactions between groups of modules.
- Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing.
- The purpose of integration testing is to verify functional, performance, and reliability requirements placed on major design items.
- Top down and bottom up are two approaches of Integration testing.
- Bottom up testing is an approach to integrated testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
Top down testing is an approach to integrated testing where the top integrated modules are tested and the branch of the module is tested step by step until the end of the related module.
System Testing
- They basically check interactions between all modules in the system.
- This testing is conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.
- System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic.
- The purpose of integration testing is to detect any inconsistencies between the software units that are integrated together (called assemblages) or between any of the assemblages and the hardware.
- System testing tests not only the design, but also the behaviour and even the believed expectations of the customer.
- Performance Testing
- Performance testing tests the speed of the system under high load.
- It is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload.
- This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration.
- This test will give out the response times of all the important business critical transactions.
- It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
The tools used for website development and testing are as follows:
- Basic text and graph editors like Program File Editor (PEE), Adobe Photoshop etc.
- Specialized HTML editors like Arachnoid.
- Site Management tools like Cold Fusion, Dream Viewer etc.
- Content Management Systems like RedDot, InterVowen etc.
- E-commerce site development tools like Actinic, Intershop etc.