测试类型 1

来源:互联网 发布:画手绘的软件 编辑:程序博客网 时间:2024/06/07 18:24
1. Ad-hoc testing (随机测试): This is a informal type of software testing that is performed by software testers, business analyst, developers or any stake holder without referring to test cases or documentation. Person performing ad-hoc testing usually has a good understanding of software requirements and tries to break the software and find defects with the experience and knowledge they have about the domain, requirements and functionality of the software. Ad hoc testing is intended to find defects that were not found by existing test cases.

2. Acceptance testing (验收测试): This is a formal type of software testing that is performed by end customer to check if the software confirms to their business needs and to the requirements provided earlier. Acceptance tests are usually documented; however end customers may not document test cases for smaller version or releases.

3. Accessibility testing (辅助测试): This is a formal type of software testing that helps to determine whether the software can be used by people with disability. Disability can be blind, deaf, color blindness, learning disability etc. There are also companies and consultants that provide website accessibility audits.

4.Aging testing (老化测试): This is a type of performance testing that is carried out by running software for longer duration like weeks or months and check performance of software to see if the software performance degrades or shows any signs of degradation after running for a longer period of time.Aging Test is also known as Soak testing and also known as longevity testing.

5. Alpha Testing (Alpha测试): This is a formal type of testing that is performed by end customers at development site. Alpha testing is conducted before taking the software to Beta testing.

6. Agile Testing (敏捷测试): This is a type of software testing that accommodates agile software development approach. Agile development treats testing as an integral part of software development and to be done along with coding. Agile testing allows incremental and iterative coding and testing.

7. API Testing (API测试): API testing is a type of testing that is similar to unit testing. Each of the Software APIs are tested as per API specification. API testing is mostly done by testing team unless APIs to be tested or complex and needs extensive coding. API testing requires understanding both API functionality and possessing good coding skills.

8. Automated testing (自动化测试): This is a testing approach that makes use of testing tools and/or programming to run the test cases using software or custom developed test utilities. Most of the automated tools provided capture and playback facility, however there are tools that require writing extensive scripting or programming to automate test cases.

9. All Pairs testing (所有配对测试): Also known as Pair wise testing, is a black box testing approach and a testing method where in for each input is tested in pairs of inputs, which helps to test software works as expected with all possible input combinations.

10. Beta Testing (Beta测试): This is a formal type of software testing that is carried out by end customers before releasing or handing over software to end users. Successful completion of Beta testing means customer acceptance of the software.

11. Black Box testing (黑盒测试): Black box testing is a software testing method where in testers are not required to know coding or internal structure of the software. Black box testing method relies on testing software with various inputs and validating results against expected output.

12. Backward Compatibility Testing (向后兼容测试): Type of software testing performed to check newer version of the software can work successfully installed over previous version of the software and newer version of the software works as fine with table structure, data structures, files that were created by previous version of the software.

13. Boundary Value Testing (BVT) (边界值测试): Boundary Value Testing is a testing technique that is based on concept “error aggregates at boundaries“. In this testing technique, testing is done extensively to check for defects at boundary conditions. If a field accepts value 1 to 100 then testing is done for values 0, 1, 2, 99, 100 and 101.

14. Big Bang Integration testing (大爆炸集成测试,属于非增量方式,将所有组件一次性及集合到被测系统中): This is one of the integration testing approaches, in Big Bang integration testing all or all most all of the modules are developed and then coupled together.

15. Bottom up Integration testing (自底向上集成测试,属于增量方式): Bottom up integration testing is an integration testing approach where in testing starts with smaller pieces or sub systems of the software till all the way up covering entire software system. Bottom up integration testing begins with smaller portion of the software and eventually scale up in terms of size, complexity and completeness.

16. Branch Testing (分支测试): Is a white box testing method for designing test cases to test code for every branching condition. Branch testing method is applied during unit testing.

17. Basis path testing (基本路经测试): Is a white box testing method for designing test cases to test code for every execution path of code at least once. Basis path testing method is applied during unit testing.

18. Browser compatibility Testing (BCT) (浏览器兼容性测试): Its one of the sub types of testing of compatibility testing performed by testing team. Browser compatibility testing is performed for web applications with combination of different browsers and operating systems.

19. Benchmark testing (基准测试): This is one of the types of testing performed by testing team, objective of benchmark testing is to measure performance of different versions of the software with predefined configuration (hardware and Operating system)configuration.

20. Binary portability testing (二进制可移植性测试): Binary portability testing is one of the types of compatibility testing which tests compatibility of binary or executable files from one hardware and/or operating system to other for e.g. win 2000 to windows xp etc.,

21. Compatibility testing (兼容性测试): Compatibility testing is one of the test types performed by testing team. Compatibility testing checks if the software can be run on different hardware, operating system, bandwidth, databases, web servers, application servers, hardware peripherals, emulators, different configuration, processor, different browsers and different versions of the browsers etc.,

22. Certification testing (认证测试): Certification testing is also related to Compatibility testing, however product will be certified as fit to use. Certification is applicable for hardware, Operating systems or Browser. e.g. hardware/laptops are certified for Windows 7 etc.,

23. Configuration Testing (配置测试): Configuration testing is a type of testing which is used for performance testing as well as for performance tuning by finding optimal configuration settings that can make software perform at its best for hardware or for a given operating system.

24. Component Testing (组件测试): is a type of software testing performed by developers. Component testing is carried out after completing unit testing. Component testing involves testing a group of units as code together as a whole rather than testing individual functions, methods.

25. Compliance Testing (一致性测试): is a type of software testing performed by external agencies, external standards body and can be done by testers as well. Objective of compliance testing is to test software meets the required standards, government laws, company policies etc.,

26. Concurrency Testing (并发测试): is type of software testing performed by performance test engineers, objective of concurrency testing is to check if application performs as expected when multiple users use the software, logins, features and database etc.,

27. Comparison Testing (对比测试): is a type of software testing performed to compare features, pros and cons of the product with competitor products or different versions of the product. This type of testing is usually done by Business analysts or marketing analysts.

28. Conformance Testing (一致性测试): is a type of software testing performed by external agencies or standards body. Conformance testing is done to endorse a product that it meets the requirements it was supposed to fulfill. e.g.: Mobile devices to restrict to a limit of electromagnetic radiation emission.

29. Conversion Testing (转换测试): is a type of software testing performed by testers to check programs or software used for converting data from existing systems to new or replacement systems. e.g.: Existing Insurance software developed in java is being replace by SAP implementation, in this case existing data has to be converted, and migrated to SAP.

30. Code-driven Testing (代码驱动测试): is related to types of testing that makes uses of frameworks like Junit, XUnit, Nunit used for Unit testing.

31. Condition Coverage Testing (条件覆盖测试): Condition coverage testing is a testing technique used during unit testing, where in developer tests for all the condition statements like if, if else, case etc., in the code being unit tested.

32. Dynamic Testing (动态测试): Testing can be performed as Static Testing and Dynamic testing, Dynamic testing is a testing approach where-in testing can be done only by executing code or software are classified as Dynamic Testing. Unit testing, Functional testing, regression testing, performance testing etc.,

33. Documentation testing (文档测试): is a type of Static testing in which project documents are checked for thoroughness and completeness. Documentation testing can range from doing spell, grammar check, reading the document from end user perspective, reading the documenting thoroughly understanding and looking for any ambiguous statements, checking documents that are technical in nature like installation documents for its simplicity and completeness. Documentation will also include EULA (End user license agreements), user guides, Admin guides, installation guides etc.

34. Decision Coverage Testing (判定覆盖测试): Is a testing technique that is used in Unit testing, objective of decision coverage testing is to expertise and validate each and every decisions made in the code e.g. if, if else, case statements.

35. Destructive Testing (破坏性检查): Destructive testing is a type of testing which is performed by testing team, Destructive testing is intended to find failure points of a software, be it by inputting incorrect data, inputting corrupt data, incorrect format, by volume or by number requests etc.,

36. Domain Testing (域测试): Domain testing is a software testing technique, Objective of domain testing is to select test cases of critical functionality of the software and execute them. Domain testing does not intend to run all the existing test cases.

37. Dependency Testing (依赖性测试): Is type of testing which can be applied to components, web services, software services, software, APIs, intent of the dependency testing it to check the configuration, input and output sent by base application to dependent services or softwares are as per specification.

38. End-to-end Testing (点对点测试): End to end testing is performed by testing team, focus of end to end testing is to test end to end flows e.g. right from order creation till reporting or order creation till item return etc and checking ., End to end testing is usually focused mimicking real life scenarios and usage. End to end testing involves testing information flow across applications.

39. Exploratory Testing (探索性测试): Exploratory testing is an informal type of testing conducted to learn the software at the same time looking for errors or application behavior that seems non-obvious. Exploratory testing is usually done by testers but can be done by other stake holders as well like Business Analysts, developers, end users etc. who are interested in learning functions of the software and at the same time looking for errors or behavior is seems non-obvious.

40. Endurance Testing (持久性测试): Endurance testing is also known as soak testing, longevity testing. Endurance testing is usually performed by performance testing team. Endurance testing is done to check if software can withstand expected load on continuous basis for reasonable longer duration of time, say about a week or a month. During Endurance testing, performance issues or memory leaks that can be discovered and this is the intent of the endurance testing.

41. Equivalence Partitioning (等价类划分): Equivalence partitioning is also known as Equivalence Class Partitioning is a software testing technique and not a type of testing by itself. Equivalence partitioning technique is used in black box and grey box testing types. Equivalence partitioning classifies test data into Equivalence classes as positive Equivalence classes and negative Equivalence classes, such classification ensures both positive and negative conditions are tested.

42. Error-Handling Testing (错误处理测试): Is a type of testing that focuses on error handling capabilities of software, this type of testing that focuses on response of the software and message it displays to uses incase of expected and un-expected errors.

43. Functional Testing (功能测试): Functional testing is a formal type of testing performed by testers. Functional testing focuses on testing software against design document, Use cases and requirements document. Functional testing is a black box type of testing and does not require internal working of the software unlike white box testing.

44. Fault injection Testing (故障注入测试): Fault injection Testing is a type of testing that done by testing team with help of development team. Faults or errors are induced in the application and existing tests are executed, in case the introduced errors are caught, that means existing tests are good and robust else additional tests have to be included. Fault injection testing is very important incase of defense, aerospace, medical or any critical software that can lead to financial or loss of life.

45. Failover testing (故障恢复测试): is a type of software testing which focuses on testing functionality or features that enable software to recover from some of the anticipated failures like web server failure, hardware or network failure, or web services not available or not responding etc.,

46. Forward Compatibility Testing (向前兼容性测试): is a type of software testing that is done to check if the software works as expected when software is downgraded from higher version to lower version for e.g. Presume you installed new version of Internet explorer 9.0 and due to some reason you are not comfortable or you find that new version I.E 9.0 is not working as expected, then you would downgrade to I.E. 8.0 and as a end user you will expect that I.E 8.0 works as earlier with all the favorites and browser add-ons intact. Software development companies provide forward compatibility testing in mind when there are going in for a major release and incase due to any issue (software, hardware or configuration) user should still have an option to go back to previous version of the software.

47. Fuzz Testing (模糊测试): Fuzz testing or fuzzing is a software testing technique that involves testing with unexpected or random inputs. Software is monitored for failures or error messages that are presented due to the input errors.

48. GUI (Graphical User Interface) testing (GUI 测试): is aimed at testing the software GUI (Graphical User Interface) of the software meets the requirements as mentioned in the GUI mockups and Detailed designed documents. For e.g. checking the length and capacity of the input fields provided on the form, type of input field provided, e.g. some of the form fields can be displayed as dropdown box or a set of radio buttons. So GUI testing ensures GUI elements of the software are as per approved GUI mockups, detailed design documents and functional requirements. Most of the functional test automation tools work on GUI capture and playback capabilities. This makes script recording faster at the same time increases the effort on script maintenance.

49. Glass box Testing (玻璃箱测试): Glass box testing is another name for White box testing. Glass box testing is a testing method that involves testing individual statements, functions etc., Unit testing is one of the Glass box testing methods.

50. Globalization Testing (全球化测试): Globalization testing is a type of testing which detects problems with in application design related to usage of the software with different languages, different character sets. Software used should not crash and should not be able to display information correctly. Globalization testing is applicable for software that is used by people across different geographies and different language.