A particular type of testing that has an approach, goal and/or use of oracle(s) that provides information that is typical to that test type.
This is the sixth post in a (sub) series on Test Types. Please add any additions or remarks in the comment section.
Negative testing ensures that your application can gracefully handle invalid input or unexpected user behavior. It is the process of validating the application against invalid data.
Although most testers will agree on the importance of negative testing it sometimes is difficult to put the necessary time into it. Especially when many developer or business stakeholder argue against too many “hypothetical” tests in favor of confirmation tests
Testing the connectivity and data exchange between the application and its direct ‘neighbours’.
A colleague of mine used this type of testing in a Chain Test Plan that he wrote. I found it a useful expression to describe limiting the (initial) scope of a chain test to its immediate surroundings.
Network conditions simulation testing
Testing traffic, exchange of data and behaviour of systems and interfaces while simulating different network conditions.
Think of introducing latency, interruptions, data package loss etc.
Testing how a software application or system operates.
A very short description that covers a world of possibilities. While behaviour is the subject of many requirements documents, user stories and the like, non-functionals are much less intensively described. Often they are only identified by a number of constraints and boundaries describing what the system should be able to handle or what is specifically not allowed to do. Don’t be fooled by their absence. Non-functionals have the possibility of influencing the behaviour of applications so that it looks as if the behaviour is incorrect or correct while it is not. Moreover non-functionals can have a major impact on user experience. There are many quality attributes and testing types connected to non-functional testing that can be used for investigation.
Operational testing is testing focussed on usage of the application or system in its intended environment, its intended usage and by its intended users.
Environment here extends beyond the hardware, tooling or user interface and such. It includes applicable standards, procedures, processes and culture. Similarly for users this not only relates to consumers or end users but also to operations, customer service, engineers, etc. And usage extends beyond day-to-day use but also relates to maintenance, backup and restore, etc.
Packaged application testing
Testing application packages or application suites on the inter functionality of the separate parts in their interaction and their behaviour as a whole.
There are a number of suppliers offering package application testing services for products like SAP and Oracle. Although I see the benefit of testing process flow and behaviour throughout such a group of applications that more or less work together I am not quite sure how this differs from any other testing.
Investigating a system and its environment on the possibilities of gaining unwanted access to a environment or system or the possibility to retrieve not be disclosed information.
Penetration testing together with performance testing (see next item) is in my opinion one of the specialist fields in software testing. While every testing should have some basic understanding and skill in this area it involves both continuous renewed skill, knowledge and practice to excel in penetration testing.
Determining how a system performs in terms of responsiveness and stability under various work loads.
While the focus is often particularly on high loads or peak loads special attention should also be given to low loads, intermittent loads, loads addressing only specific parts of the system. Also load should point towards both load given to the system as load produced by the system.
There are several sub-areas that fall under performance testing that each have a specific area of performance that they address: Load testing, Stress testing, Soak testing, Configuration testing, Spike testing, Isolation testing, etc..