Black box testing – This type of test is not based on knowledge of internal design or code. These tests are based on requirements and functionality.
Tests on a white box – This is based on knowledge of the internal logic code of the application. Tests are based on coverage of code statements, branches, paths, conditions.
Unit Test – Maximum Test Scale; To test certain functions or code units. This is usually done by developers and not with test equipment, as it requires detailed knowledge of the internal application, design and code. Not always easy to do unless the application has a well-designed architecture with a tight code; Developing test equipment or test equipment may need to be developed.
Increasing integration test – continuous test of application when new functionality is added; Requires that various features of operation are independent enough to work before all parts of the program are completed or test drivers evolve as needed; Done by developers or testers.
Integration Test – Testing of Composite Parts of Application to Determine Whether they Work Properly. The "objects" can be code units, individual programs, client and server programs online, etc. This type of testing is especially relevant for client / server and distributed system.
Functional testing – this test is intended to apply the functional requirements of the application; This test should be performed using test equipment. This does not mean that programmers should not make sure their code works before it's released (which, of course, applies to what level of testing.)
System Test – This is based on general requirements for specification; Applies to all components of the system.
Endpoint Testing – This is similar to system testing; Includes a complete application environment testing in situations that simulate actual usage, such as database interactions, network sharing, or communication with other hardware, applications, or systems.
Sanity Test or Smoke Test – Usually this is the first test to determine if a new software version is good enough to approve it for a major testing operation. For example, if the new software is throwing systems every 5 minutes, allowing the systems to crawl or corrupt databases, the software can not be in normal condition to ensure further testing in the current state.
Regression Test – This is verified after error correction or software changes. It is difficult to determine how much re-testing is required, especially at the end of the development cycle. Automated testing tools are very useful for this type of testing.
Acceptance of Testing – This may be a final exam, based on specific user or customer or based on usage at the end of
Charging test – this is nothing but testing programs under high pressure , Such as testing a website at various locations to determine at what point the system's response time is broken or failed.
Stress stress – the term is often used steadily with "load" and "performance" tests. Also used to describe such tests, such as system testing, during unusually heavy stress, heavy repetition of certain operations or intake, input of large numerical values, large complex database inquiries, etc.
The term is often used steadily with "stress" and "load" testing. The main testing of performance is defined in requirements for requirements or test plans.
User Test – This test is made for user friendliness. Obviously, this is subjective and depends on the user or customer. Use interviews, surveys, video recording of user groups and other methods. Programmers and testers are usually not suited as a usability tester.
Compatibility test – Test how well the software is performed in a particular hardware / software / operating system / network / etc. Environment.
User Verification Testing – Determine if software is adequate for End User or Customer.
Comparative tests – compare weaknesses and strengths of software to other competitive products.
] Alpha test – test program when development is complete; Minor design changes can still be made for such tests. This is usually done by end users or others, but not by developers or testers.
Beta test – testing when development and testing is actually complete and final defects and problems need to be found for final release. This is usually done by end users or others, not programmers or testers.
Mutation Testing – A method of determining a set of test data or examinations is useful or not intentionally making various code changes (& # 39; defects) and retrying original test data / cases to To determine if "bugs" are seen.
Source by Jerry Ruban