Knowledge

Unit testing

Source πŸ“

630:, where individual units developed by different programmes underwent "unit tests" before being integrated together. In 1969, testing methodologies appear more structured, with unit tests, component tests and integration tests with the purpose of validating individual parts written separately and their progressive assembly into larger blocks. Some public standards adopted end of the 60's, such as MIL-STD-483 and MIL-STD-490 contributed further to a wide acceptance of unit testing in large projects. 1646: 927:. If the test-script can be fully executed from start to finish without incident, the unit test is considered to have "passed", otherwise errors are noted and the user story is moved back to development in an 'in-progress' state. User stories that successfully pass unit tests are moved on to the final steps of the sprint - Code review, peer review, and then lastly a 'show-back' session demonstrating the developed tool to stakeholders. 718: 1758:
this isn't really a problem, more a restatement of fact, as classical methods have rarely ever been followed methodically enough for all execution paths to have been thoroughly tested. Extreme programming simply recognizes that testing is rarely exhaustive (because it is often too expensive and time-consuming to be economically viable) and provides guidance on how to effectively focus limited resources.
1754:. The developer writes a unit test that exposes either a software requirement or a defect. This test will fail because either the requirement isn't implemented yet, or because it intentionally exposes a defect in the existing code. Then, the developer writes the simplest code to make the test, along with other tests, pass. 1110:
Software testing is a combinatorial problem. For example, every Boolean decision statement requires at least two tests: one with an outcome of "true" and one with an outcome of "false". As a result, for every line of code written, programmers often need 3 to 5 lines of test code. This obviously takes
1061:
Test cases can embody characteristics that are critical to the success of the unit. These characteristics can indicate appropriate/inappropriate use of a unit as well as negative behaviors that are to be trapped by the unit. A test case documents these critical characteristics, although many software
979:. This includes both bugs in the programmer's implementation and flaws or missing parts of the specification for the unit. The process of writing a thorough set of tests forces the author to think through inputs, outputs, and error conditions, and thus more crisply define the unit's desired behavior. 1830:
Some programming languages directly support unit testing. Their grammar allows the direct declaration of unit tests without importing a library (whether third party or standard). Additionally, the Boolean conditions of the unit tests can be expressed in the same syntax as Boolean expressions used in
987:
The cost of finding a bug before coding begins or when the code is first written is considerably lower than the cost of detecting, identifying, and correcting the bug later. Bugs in released code may also cause costly problems for the end-users of the software. Code can be impossible or difficult to
1094:
activities, as they can only show the presence or absence of particular errors; they cannot prove a complete absence of errors. To guarantee correct behavior for every execution path and every possible input, and ensure the absence of errors, other techniques are required, namely the application of
1086:. The same is true for unit testing. Additionally, unit testing by definition only tests the functionality of the units themselves. Therefore, it will not catch integration errors or broader system-level errors (such as functions performed across multiple units, or non-functional test areas such as 896:
Parameters for the unit tests may be coded manually or in some cases are automatically generated by the test framework. In recent years support was added for writing more powerful (unit) tests, leveraging the concept of theories, test cases that execute the same steps, but using test data generated
1757:
Most code in a system is unit tested, but not necessarily all paths through the code. Extreme programming mandates a "test everything that can possibly break" strategy, over the traditional "test every execution path" method. This leads developers to develop fewer tests than classical methods, but
1172:
It is also essential to implement a sustainable process for ensuring that test case failures are reviewed regularly and addressed immediately. If such a process is not implemented and ingrained into the team's workflow, the application will evolve out of sync with the unit test suite, increasing
1190:
Unit tests tend to be easiest when a method has input parameters and some output. It is not as easy to create unit tests when a major function of the method is to interact with something external to the application. For example, a method that will work with a database might require a mock up of
1761:
Crucially, the test code is considered a first class project artifact in that it is maintained at the same quality as the implementation code, with all duplication removed. Developers release unit testing code to the code repository in conjunction with the code it tests. Extreme programming's
1141:
Another challenge related to writing the unit tests is the difficulty of setting up realistic and useful tests. It is necessary to create relevant initial conditions so the part of the application being tested behaves like part of the complete system. If these initial conditions are not set
1706:
Using unit-tests as a design specification has one significant advantage over other design methods: The design document (the unit-tests themselves) can itself be used to verify the implementation. The tests will never pass unless the developer implements a solution according to the design.
919:, will write step-by-step 'test scripts' for the developers to execute in the tool. Test scripts are generally written to prove the effective and technical operation of specific developed features in the tool, as opposed to full fledged business processes that would be interfaced by the 1181:
Unit testing embedded system software presents a unique challenge: Because the software is being developed on a different platform than the one it will eventually run on, you cannot readily run a test program in the actual deployment environment, as is possible with desktop programs.
617:
Unit testing, as a principle for testing separately smaller parts of large software systems dates back to the early days of software engineering. In June 1956, H.D. Benington presented at US Navy's Symposium on Advanced Programming Methods for Digital Computers the
870:
is a test that accepts a set of values that can be used to enable the test to run with multiple, different input values. A testing framework that supports parametrized tests supports a way to encode parameter sets and to run the test with each set.
689:) it doesn't mean functions/methods, modules or classes always correspond to units. From the system-requirements perspective only the perimeter of the system is relevant, thus only entry points to externally-visible system behaviours define units. 1163:
system is essential. If a later version of the unit fails a particular test that it had previously passed, the version-control software can provide a list of the source code changes (if any) that have been applied to the unit since that time.
1065:
In some processes, the act of writing tests and the code under test, plus associated refactoring, may take the place of formal design. Each unit test can be seen as a design element specifying classes, methods, and observable behavior.
1057:
Some programmers contend that unit tests provide a form of documentation of the code. Developers wanting to learn what functionality is provided by a unit, and how to use it, can review the unit tests to gain an understanding of it.
1102:
An elaborate hierarchy of unit tests does not equal integration testing. Integration with peripheral units should be included in integration tests, but not in unit tests. Integration testing typically still relies heavily on humans
622:
project and its specification based approach where the coding phase was followed by "parameter testing" to validate component subprograms against their specification, followed then by an "assembly testing" for parts put together.
812:
can be built to produce the desired coverage of the software being tested. Formally defined test cases allow the same tests to be run repeatedly against successive versions of the software, allowing for effective and consistent
996:
Unit testing enables more frequent releases in software development. By testing individual components in isolation, developers can quickly identify and address issues, leading to faster iteration and release cycles.
1158:
It is essential to keep careful records not only of the tests that have been performed, but also of all changes that have been made to the source code of this or any other unit in the software. Use of a
2277:
The contractor shall then code and test software Units, and enter the source and object code, and associated listings of each successfully tested Unit into the Developmental Configuration
941:
In test-driven development (TDD), unit tests are written while the production code is written. Starting with working code, the developer adds test code for a required behavior, then adds
808:
objective, such as to exercise a particular program path or to verify compliance with a specific requirement. Test cases underlie testing that is methodical rather than haphazard. A
915:
and comes in the later half of the sprint after requirements gathering and development are complete. Typically, the developers or other members from the development team, such as
2705: 681:
Unit is defined as a single behaviour exhibited by the system under test (SUT), usually corresponding to a requirement. While it may imply it's a function or a module (in
960:
By writing tests first for the smallest testable units, then the compound behaviors between those, one can build up comprehensive tests for complex applications.
804:
is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular
1785:
An automated testing framework provides features for automating test execution and can accelerate writing and running tests. Frameworks have been developed for
566: 704:
Testing is often performed by the programmer who writes and modifies the code under test. Unit testing may be viewed as part of the process of writing code.
3399: 1714:
diagram, but they may be generated from the unit test using automated tools. Most modern languages have free tools (usually available as extensions to
963:
One goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written
520: 701:
execution. Automated tests include benefits such as: running tests often, running tests without staffing cost, and consistent and repeatable testing.
2701: 2676: 1111:
time and its investment may not be worth the effort. There are problems that cannot easily be tested at all – for example those that are
1074:
Testing will not catch every error in the program, because it cannot evaluate every execution path in any but the most trivial programs. This
1930:
Some languages do not have built-in unit-testing support but have established unit testing libraries or frameworks. These languages include:
1819:
for the adoption of a framework; that having some tests is better than none, but once a framework is in place, adding tests can be easier.
770:
During development, a programmer may code criteria, or results that are known to be good, into the test to verify the unit's correctness.
487: 1142:
correctly, the test will not be exercising the code in a realistic context, which diminishes the value and accuracy of unit test results.
3083: 1766:, simplified code integration, accurate documentation, and more modular designs. These unit tests are also constantly run as a form of 559: 339: 945:
code to make the test pass, then refactors the code (including test code) as makes sense and then repeats by adding another test.
477: 329: 1150:
To obtain the intended benefits from unit testing, rigorous discipline is needed throughout the software development process.
1107:; high-level or global-scope testing can be difficult to automate, such that manual testing often appears faster and cheaper. 2660: 2536: 2452: 2384: 2351: 2256: 2219: 2182: 2135: 552: 452: 208: 193: 472: 2273:
MIL-STD-483 Military standard: configuration management practices for systems, equipment, munitions, and computer programs
1815:
mechanisms to verify behavior and report failure. Some note that testing without a framework is valuable since there is a
510: 3027: 2420: 1797: 1715: 988:
unit test if poorly written, thus unit testing can force developers to structure functions and objects in better ways.
897:
at runtime, unlike regular parameterized tests that use the same execution steps with input sets that are pre-defined.
419: 183: 2483: 2153:
Proceedings of the Symposium on Advanced Programming Methods for Digital Computers, Washington, D.C., June 28-29, 1956
650: 2516: 2289: 2036: 1693: 916: 757: 619: 286: 1675: 3333: 1804: 1762:
thorough unit testing allows the benefits mentioned above, such as simpler and more confident code development and
409: 404: 160: 2066: 1786: 1740: 1191:
database interactions to be created, which probably won't be as comprehensive as the real database interactions.
538: 2794: 3076: 1945: 1878: 1793: 1671: 739: 429: 142: 122: 291: 1955: 1913: 1908: 1883: 1667: 1042: 850: 735: 228: 218: 168: 3394: 3358: 3297: 1996: 1923: 1893: 1851: 1087: 1009:
code or upgrade system libraries at a later date, and make sure the module still works correctly (e.g., in
515: 243: 59: 1960: 1918: 1873: 1861: 686: 666: 334: 306: 2584: 1112: 1045:
testing style approach. By testing the parts of a program first and then testing the sum of its parts,
906: 634: 457: 301: 188: 178: 117: 2951: 3302: 3069: 1888: 1711: 1116: 1018: 223: 203: 17: 3343: 3292: 3262: 3204: 1990: 1856: 1777:. As emergent design is heavily dependent upon refactoring, unit tests are an integral component. 1656: 364: 233: 213: 2096: 1751: 1660: 936: 853:
so that the test need not depend on production code. A test double provides functionality via an
728: 492: 374: 253: 127: 1722:
framework, outsource to another system the graphical rendering of a view for human consumption.
2646: 1125: 682: 434: 344: 296: 238: 1062:
development environments do not rely solely upon code to document the product in development.
3389: 3222: 3217: 2031: 1279: 854: 774: 258: 74: 64: 2796: 2171:"Production of large computer programs (reprint of the 1956 paper with an updated foreword)" 3267: 3257: 2617: 2602: 2206:. ACM '64. New York, NY, USA: Association for Computing Machinery. pp. 12.101–12.108. 2076: 924: 797: 354: 198: 132: 99: 79: 40: 2966: 2652: 8: 3252: 3247: 3237: 3181: 3126: 3116: 2795:
Steve Klabnik and Carol Nichols, with contributions from the Rust Community (2015–2023).
2061: 2051: 1736: 1096: 1083: 1046: 602: 349: 268: 94: 1119:. In addition, code for a unit test is as likely to be buggy as the code it is testing. 3307: 3282: 3242: 3232: 3176: 2283: 2071: 2056: 2046: 2026: 1985: 1808: 1710:
Unit testing lacks some of the accessibility of a diagrammatic specification such as a
1130: 1030: 1010: 964: 867: 814: 633:
Unit testing was in those times interactive or automated, using either coded tests or
601:
Unit testing describes tests that are run at the unit-level to contrast testing at the
467: 3317: 3143: 3111: 3106: 3023: 2656: 2512: 2448: 2416: 2390: 2380: 2357: 2347: 2324: 2252: 2243:. ACM '69. New York, NY, USA: Association for Computing Machinery. pp. 459–467. 2215: 2178: 2131: 2041: 2006: 1803:
Tests can be written without using a framework to exercise the code under test using
976: 2275:. United states, Department of Defense. 31 December 1970. pp. Section 3.4.7.2. 1129:
quotes: "Never go to sea with two chronometers; take one or three." Meaning, if two
3287: 3272: 3227: 3153: 3138: 3131: 3092: 2599:"Prove It Works: Using the Unit Test Framework for Software Testing and Validation" 2551: 2440: 2316: 2244: 2207: 2081: 1816: 1091: 1075: 843: 805: 591: 424: 387: 369: 359: 84: 2906: 2884: 2559: 2200:"Experiences with the goddard computing system during manned spaceflight missions" 3312: 2680: 2506: 2444: 1774: 1767: 1160: 1079: 1041:
Unit testing may reduce uncertainty in the units themselves and can be used in a
954: 846: 627: 311: 263: 147: 69: 2929: 2861: 2817: 2377:
Software engineering at Google : lessons learned from programming over time
2304: 3363: 3338: 3277: 3186: 3158: 3056: 2618:"You Still Don't Know How to Do Unit Testing (and Your Secret is Safe with Me)" 2236: 2199: 2086: 1104: 780:
For this, the most commonly used approach is test - function - expected value.
698: 606: 2394: 2361: 1822:
In some frameworks advanced test features are missing and must be hand-coded.
3383: 2328: 2170: 54: 2726: 2492:, pp. 133–137, Chapter Β§7 JUnit 5 Extension Model - Parameterized Test. 1185: 3353: 3348: 3121: 2320: 1812: 137: 3022:. Upper Saddle River, NJ: Prentice Hall Professional Technical Reference. 2344:
Java Unit Testing with JUnit 5 : Test Driven Development with JUnit 5
2248: 2211: 3368: 3212: 3148: 2642: 2598: 2532: 2469: 1970: 1763: 1743:. This automated unit testing framework can be either third party, e.g., 1145: 1120: 1021:
so that whenever a change causes a fault, it can be identified quickly.
1006: 835: 828: 658: 595: 2748: 2379:. Tom Manshreck, Hyrum Wright (1st ed.). Sebastopol, CA: O'Reilly. 1282:
statements to verify the expected result of various input values to the
2177:. ICSE '87. Washington, DC, USA: IEEE Computer Society Press: 299–310. 2175:
Proceedings of the 9th International Conference on Software Engineering
2151:
Benington, Herbert D. (1956). "Production of large computer programs".
1965: 1014: 970: 912: 911:
Sometimes, in the agile software development, unit testing is done per
809: 742: in this section. Unsourced material may be challenged and removed. 2769: 1136: 2408: 2091: 857:
that the software under test cannot distinguish from production code.
801: 790: 654: 642: 638: 89: 2555: 1645: 1024: 717: 3061: 2987: 2198:
Donegan, James J.; Packard, Calvin; Pashby, Paul (1 January 1964).
920: 839: 462: 414: 399: 394: 2839: 2128:
Automated Defect Prevention: Best Practices in Software Management
1173:
false positives and reducing the effectiveness of the test suite.
2508:
Unit Test Frameworks: Tools for High-Quality Software Development
1950: 1898: 626:
In 1964, a similar approach is described for the software of the
2930:"RackUnit Unit Testing package part of Racket main distribution" 2746: 1868:
Languages with standard unit testing framework support include:
3042: 2992: 2439:. Iso/Iec/IEEE 24765:2010(E). 1 December 2010. pp. 1–418. 1903: 1099:
to prove that a software component has no unexpected behavior.
878: 670: 173: 2958: 2305:"The value of a proper software quality assurance methodology" 2921: 2101: 1940: 1744: 1719: 1204:
Below is an example of a JUnit test suite. It focuses on the
953:
Unit testing is intended to ensure that the units meet their
890: 886: 882: 777:
tests that fail any criterion and report them in a summary.
662: 646: 248: 874:
Use of parametrized tests can reduce test code duplication.
2681:"Change Code Without Fear: Utilize a regression safety net" 2011: 1975: 1935: 1176: 482: 2155:. Office of Naval Research, Department of the Navy: 15–28. 2001: 1980: 1186:
Limitations for testing integration with external systems
1090:). Unit testing should be done in conjunction with other 2706:"Making Unit Testing Practical for Embedded Development" 1750:
Extreme programming uses the creation of unit tests for
2125: 1846:
Languages with built-in unit testing support include:
1825: 1146:
Requires discipline throughout the development process
2882: 2204:
Proceedings of the 1964 19th ACM national conference
2197: 971:
Early detection of problems in the development cycle
893:, as well as in various JavaScript test frameworks. 2964: 2898: 1137:
Difficulty in setting up realistic and useful tests
1052: 2927: 1133:contradict, how do you know which one is correct? 2346:. Rahul Sharma. Berkeley, CA: Apress. p. 8. 2130:. Wiley-IEEE Computer Society Press. p. 75. 1025:Detects changes which may break a design contract 665:, a unit test framework that became popular with 3381: 3057:Test Driven Development (Ward Cunningham's Wiki) 2241:Proceedings of the 1969 24th national conference 1773:Unit testing is also critical to the concept of 1069: 1013:). The procedure is to write test cases for all 1780: 1635: 27:Validating the behavior of isolated source code 2967:"API for clojure.test - Clojure v1.6 (stable)" 2537:"Understanding and Controlling Software Costs" 2437:Systems and software engineering -- Vocabulary 2237:"System integration as a programming function" 1000: 3077: 2531: 1831:non-unit test code, such as what is used for 673:embraced automated testing around 2005–2006. 560: 3036: 2489: 2309:ACM SIGMETRICS Performance Evaluation Review 2104:– a family of unit testing frameworks. 1029:Unit tests detect changes which may break a 697:Unit tests can be performed manually or via 3400:Types of tools used in software development 1747:, or created within the development group. 1674:. Unsourced material may be challenged and 1167: 1153: 3084: 3070: 930: 567: 553: 2747:Bullseye Testing Technology (2006–2008). 2700: 2544:IEEE Transactions on Software Engineering 2500: 2498: 2234: 2168: 2150: 1694:Learn how and when to remove this message 991: 975:Unit testing finds problems early in the 758:Learn how and when to remove this message 598:is tested to validate expected behavior. 3017: 2904: 2121: 2119: 1177:Limitations for embedded system software 3037:Gulati, Shekhar; Sharma, Rahul (2017). 2840:"testing - The Go Programming Language" 2675: 2374: 2235:Zimmerman, Norman A. (26 August 1969). 2126:Kolawa, Adam; Huizinga, Dorota (2007). 1787:a wide variety of programming languages 1718:). Free tools, like those based on the 651:Simple Smalltalk Testing: With Patterns 14: 3382: 2641: 2535:; Papaccio, Philip N. (October 1988). 2504: 2495: 2341: 1730: 1005:Unit testing allows the programmer to 521:Electrical and electronics engineering 3065: 2770:"Unit Tests - D Programming Language" 2467: 2302: 2116: 1796:; not distributed with a compiler or 1036: 967:that the piece of code must satisfy. 877:Parameterized tests are supported by 861: 3091: 3020:Working Effectively with Legacy Code 2885:"unittest -- Unit testing framework" 2615: 2407: 2303:Tighe, Michael F. (1 January 1978). 2164: 2162: 1672:adding citations to reliable sources 1639: 740:adding citations to reliable sources 711: 2862:"Unit Testing Β· The Julia Language" 1826:Language-level unit testing support 1735:Unit testing is the cornerstone of 707: 24: 3011: 2413:Test-Driven Development by Example 1798:integrated development environment 827:This paragraph is an excerpt from 789:This paragraph is an excerpt from 773:During test execution, frameworks 641:described a testing framework for 25: 3411: 3050: 2169:Benington, H. D. (1 March 1987). 2159: 2037:Component-based usability testing 1480:sumReturnsSumOfTwoNegativeNumbers 1405:sumReturnsSumOfTwoPositiveNumbers 923:, which is typically done during 447:Standards and bodies of knowledge 3334:Graphical user interface testing 1644: 1053:Documentation of system behavior 716: 2980: 2944: 2876: 2854: 2832: 2810: 2788: 2762: 2740: 2719: 2694: 2669: 2635: 2609: 2591: 2577: 2525: 2461: 2429: 2401: 2067:List of unit testing frameworks 1739:, which relies on an automated 1725: 982: 727:needs additional citations for 539:Outline of software development 3039:Java Unit Testing with JUnit 5 2928:Welsh, Noel; Culpepper, Ryan. 2905:Welsh, Noel; Culpepper, Ryan. 2368: 2335: 2296: 2265: 2228: 2191: 2144: 821: 13: 1: 3018:Feathers, Michael C. (2005). 2883:Python Documentation (2016). 2749:"Intermediate Coverage Goals" 2288:: CS1 maint: date and year ( 2109: 1294:org.junit.Assert.assertEquals 1070:Limitations and disadvantages 685:) or a method or a class (in 3359:Software reliability testing 3298:Software performance testing 2445:10.1109/IEEESTD.2010.5733835 1781:Automated testing frameworks 1636:As executable specifications 783: 692: 7: 2470:"What Is a Good Test Case?" 2019: 1564:sumReturnsSumOfLargeNumbers 1194: 1001:Allows for code refactoring 687:object-oriented programming 10: 3416: 3201:Testing types, techniques, 2727:"Unit Tests And Databases" 2651:. Addison-Wesley. p.  1792:Generally, frameworks are 1330:sumReturnsZeroForZeroInput 934: 907:Agile software development 904: 826: 788: 635:capture and replay testing 612: 302:Software quality assurance 3326: 3200: 3169: 3099: 1838: 1832: 1283: 1205: 3344:Orthogonal array testing 3293:Smoke testing (software) 3263:Dynamic program analysis 2907:"RackUnit: Unit Testing" 2490:Gulati & Sharma 2017 2342:Gulati, Shekhar (2017). 1288: 1210: 1199: 1168:Requires regular reviews 1154:Requires version control 957:and behave as intended. 948: 900: 287:Configuration management 2776:. D Language Foundation 2511:. O'Reilly Media, Inc. 2468:Kaner, Cem (May 2003). 2375:Winters, Titus (2020). 2097:Test-driven development 1752:test-driven development 937:Test-driven development 931:Test-driven development 925:user acceptance testing 676: 661:developed and released 511:Artificial intelligence 2774:D Programming Language 2648:The Mythical Man-Month 2616:Erik (10 March 2023). 2585:"Test Early and Often" 2321:10.1145/1007775.811118 1741:unit testing framework 1126:The Mythical Man-Month 992:More frequent releases 683:procedural programming 590:testing, is a form of 435:Infrastructure as code 281:Supporting disciplines 3223:Compatibility testing 2952:"Minitest (Ruby 2.0)" 2505:Hamill, Paul (2004). 2249:10.1145/800195.805951 2212:10.1145/800257.808889 2032:Characterization test 1078:is a superset of the 1049:becomes much easier. 810:battery of test cases 292:Deployment management 3268:Installation testing 3258:Differential testing 2864:. docs.julialang.org 2797:"How to Write Tests" 2704:(23 November 2011). 2643:Brooks, Frederick J. 2603:National Instruments 2077:Software archaeology 1668:improve this section 1278:The test suite uses 1115:or involve multiple 798:software engineering 736:improve this article 112:Paradigms and models 41:Software development 3395:Extreme programming 3253:Development testing 3248:Destructive testing 3238:Conformance testing 3182:Integration testing 3127:Model-based testing 3117:Exploratory testing 2679:(6 February 2008). 2062:Integration testing 2052:Extreme programming 1737:extreme programming 1731:Extreme programming 1047:integration testing 35:Part of a series on 3308:Symbolic execution 3283:Regression testing 3243:Continuous testing 3233:Concurrent testing 3177:Acceptance testing 3100:The "box" approach 2988:"Pester Framework" 2820:. crystal-lang.org 2415:. Addison-Wesley. 2072:Regression testing 2057:Functional testing 2047:Design by contract 2027:Acceptance testing 1809:exception handling 1037:Reduce uncertainty 1011:regression testing 868:parameterized test 862:Parameterized test 815:regression testing 594:by which isolated 430:Release automation 307:Project management 3377: 3376: 3318:Usability testing 3144:White-box testing 3112:All-pairs testing 3107:Black-box testing 2662:978-0-201-83595-3 2605:. 21 August 2017. 2565:on 9 October 2016 2550:(10): 1462–1477. 2454:978-0-7381-6205-8 2386:978-1-4920-8274-3 2353:978-1-4842-3015-2 2258:978-1-4503-7493-4 2221:978-1-4503-7918-2 2184:978-0-89791-216-7 2137:978-0-470-04212-0 2042:Design predicates 2007:Visual Basic .NET 1704: 1703: 1696: 977:development cycle 849:that satisfies a 768: 767: 760: 577: 576: 468:ISO/IEC standards 16:(Redirected from 3407: 3288:Security testing 3273:Negative testing 3228:Concolic testing 3154:Mutation testing 3139:Grey-box testing 3132:Scenario testing 3093:Software testing 3086: 3079: 3072: 3063: 3062: 3046: 3033: 3005: 3004: 3002: 3000: 2984: 2978: 2977: 2975: 2973: 2965:Sierra, Stuart. 2962: 2956: 2955: 2948: 2942: 2941: 2939: 2937: 2932:. PLT Design Inc 2925: 2919: 2918: 2916: 2914: 2909:. PLT Design Inc 2902: 2896: 2895: 2893: 2891: 2880: 2874: 2873: 2871: 2869: 2858: 2852: 2851: 2849: 2847: 2836: 2830: 2829: 2827: 2825: 2814: 2808: 2807: 2805: 2803: 2792: 2786: 2785: 2783: 2781: 2766: 2760: 2759: 2757: 2755: 2744: 2738: 2737: 2735: 2733: 2723: 2717: 2716: 2714: 2712: 2702:Kucharski, Marek 2698: 2692: 2691: 2689: 2687: 2673: 2667: 2666: 2639: 2633: 2632: 2630: 2628: 2613: 2607: 2606: 2595: 2589: 2588: 2581: 2575: 2574: 2572: 2570: 2564: 2558:. Archived from 2541: 2529: 2523: 2522: 2502: 2493: 2487: 2481: 2480: 2474: 2465: 2459: 2458: 2433: 2427: 2426: 2405: 2399: 2398: 2372: 2366: 2365: 2339: 2333: 2332: 2315:(3–4): 165–172. 2300: 2294: 2293: 2287: 2279: 2269: 2263: 2262: 2232: 2226: 2225: 2195: 2189: 2188: 2166: 2157: 2156: 2148: 2142: 2141: 2123: 2082:Software testing 1842: 1841: 1836: 1835: 1817:barrier to entry 1699: 1692: 1688: 1685: 1679: 1648: 1640: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1391: 1388: 1385: 1382: 1379: 1376: 1373: 1370: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1331: 1328: 1325: 1322: 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1285: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1207: 1113:nondeterministic 1105:testing manually 1092:software testing 806:software testing 763: 756: 752: 749: 743: 720: 712: 708:Testing criteria 637:tools. In 1989, 592:software testing 569: 562: 555: 516:Computer science 425:Build automation 32: 31: 21: 3415: 3414: 3410: 3409: 3408: 3406: 3405: 3404: 3380: 3379: 3378: 3373: 3322: 3313:Test automation 3202: 3196: 3165: 3095: 3090: 3053: 3030: 3014: 3012:Further reading 3009: 3008: 2998: 2996: 2986: 2985: 2981: 2971: 2969: 2963: 2959: 2954:. Ruby-Doc.org. 2950: 2949: 2945: 2935: 2933: 2926: 2922: 2912: 2910: 2903: 2899: 2889: 2887: 2881: 2877: 2867: 2865: 2860: 2859: 2855: 2845: 2843: 2838: 2837: 2833: 2823: 2821: 2816: 2815: 2811: 2801: 2799: 2793: 2789: 2779: 2777: 2768: 2767: 2763: 2753: 2751: 2745: 2741: 2731: 2729: 2725: 2724: 2720: 2710: 2708: 2699: 2695: 2685: 2683: 2674: 2670: 2663: 2640: 2636: 2626: 2624: 2614: 2610: 2597: 2596: 2592: 2583: 2582: 2578: 2568: 2566: 2562: 2556:10.1109/32.6191 2539: 2533:Boehm, Barry W. 2530: 2526: 2519: 2503: 2496: 2488: 2484: 2472: 2466: 2462: 2455: 2435: 2434: 2430: 2423: 2406: 2402: 2387: 2373: 2369: 2354: 2340: 2336: 2301: 2297: 2281: 2280: 2271: 2270: 2266: 2259: 2233: 2229: 2222: 2196: 2192: 2185: 2167: 2160: 2149: 2145: 2138: 2124: 2117: 2112: 2107: 2022: 2017: 1928: 1866: 1839: 1833: 1828: 1783: 1775:Emergent Design 1768:regression test 1733: 1728: 1700: 1689: 1683: 1680: 1665: 1649: 1638: 1633: 1632: 1629: 1626: 1623: 1620: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1575: 1572: 1569: 1566: 1563: 1560: 1557: 1554: 1551: 1548: 1545: 1542: 1539: 1536: 1533: 1530: 1527: 1524: 1521: 1518: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1440: 1437: 1434: 1431: 1428: 1425: 1422: 1419: 1416: 1413: 1410: 1407: 1404: 1401: 1398: 1395: 1392: 1389: 1386: 1383: 1380: 1377: 1374: 1371: 1368: 1365: 1362: 1359: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1332: 1329: 1326: 1323: 1320: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1276: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1202: 1197: 1188: 1179: 1170: 1161:version control 1156: 1148: 1139: 1080:halting problem 1072: 1055: 1039: 1031:design contract 1027: 1003: 994: 985: 973: 951: 939: 933: 909: 903: 864: 859: 858: 847:test automation 832: 824: 819: 818: 794: 786: 764: 753: 747: 744: 733: 721: 710: 695: 679: 628:Mercury project 615: 573: 544: 543: 534: 526: 525: 506: 498: 497: 448: 440: 439: 390: 380: 379: 325: 317: 316: 312:User experience 282: 274: 273: 164: 153: 152: 113: 105: 104: 50: 49:Core activities 28: 23: 22: 15: 12: 11: 5: 3413: 3403: 3402: 3397: 3392: 3375: 3374: 3372: 3371: 3366: 3364:Stress testing 3361: 3356: 3351: 3346: 3341: 3339:Manual testing 3336: 3330: 3328: 3324: 3323: 3321: 3320: 3315: 3310: 3305: 3303:Stress testing 3300: 3295: 3290: 3285: 3280: 3278:Random testing 3275: 3270: 3265: 3260: 3255: 3250: 3245: 3240: 3235: 3230: 3225: 3220: 3215: 3209: 3207: 3198: 3197: 3195: 3194: 3189: 3187:System testing 3184: 3179: 3173: 3171: 3170:Testing levels 3167: 3166: 3164: 3163: 3162: 3161: 3159:Static testing 3156: 3151: 3141: 3136: 3135: 3134: 3129: 3124: 3119: 3114: 3103: 3101: 3097: 3096: 3089: 3088: 3081: 3074: 3066: 3060: 3059: 3052: 3051:External links 3049: 3048: 3047: 3034: 3029:978-0131177055 3028: 3013: 3010: 3007: 3006: 2979: 2957: 2943: 2920: 2897: 2875: 2853: 2831: 2818:"Crystal Spec" 2809: 2787: 2761: 2739: 2718: 2693: 2668: 2661: 2634: 2608: 2590: 2576: 2524: 2517: 2494: 2482: 2460: 2453: 2428: 2422:978-0321146533 2421: 2400: 2385: 2367: 2352: 2334: 2295: 2264: 2257: 2227: 2220: 2190: 2183: 2158: 2143: 2136: 2114: 2113: 2111: 2108: 2106: 2105: 2099: 2094: 2089: 2087:System testing 2084: 2079: 2074: 2069: 2064: 2059: 2054: 2049: 2044: 2039: 2034: 2029: 2023: 2021: 2018: 2016: 2015: 2009: 2004: 1999: 1994: 1988: 1983: 1978: 1973: 1968: 1963: 1958: 1953: 1948: 1943: 1938: 1932: 1927: 1926: 1921: 1916: 1911: 1906: 1901: 1896: 1891: 1886: 1881: 1876: 1870: 1865: 1864: 1859: 1854: 1848: 1827: 1824: 1782: 1779: 1732: 1729: 1727: 1724: 1702: 1701: 1684:September 2019 1652: 1650: 1643: 1637: 1634: 1303:org.junit.Test 1289: 1211: 1201: 1198: 1196: 1193: 1187: 1184: 1178: 1175: 1169: 1166: 1155: 1152: 1147: 1144: 1138: 1135: 1097:formal methods 1071: 1068: 1054: 1051: 1038: 1035: 1026: 1023: 1002: 999: 993: 990: 984: 981: 972: 969: 950: 947: 935:Main article: 932: 929: 905:Main article: 902: 899: 863: 860: 833: 825: 823: 820: 795: 787: 785: 782: 766: 765: 748:September 2019 724: 722: 715: 709: 706: 699:automated test 694: 691: 678: 675: 645:(later called 614: 611: 575: 574: 572: 571: 564: 557: 549: 546: 545: 542: 541: 535: 532: 531: 528: 527: 524: 523: 518: 513: 507: 504: 503: 500: 499: 496: 495: 490: 485: 480: 475: 470: 465: 460: 458:IEEE standards 455: 449: 446: 445: 442: 441: 438: 437: 432: 427: 422: 417: 412: 407: 402: 397: 391: 386: 385: 382: 381: 378: 377: 372: 367: 362: 357: 352: 347: 342: 337: 332: 326: 323: 322: 319: 318: 315: 314: 309: 304: 299: 294: 289: 283: 280: 279: 276: 275: 272: 271: 266: 261: 256: 251: 246: 241: 236: 231: 226: 221: 216: 211: 206: 201: 196: 191: 186: 181: 176: 171: 165: 163:and frameworks 159: 158: 155: 154: 151: 150: 145: 140: 135: 130: 125: 120: 114: 111: 110: 107: 106: 103: 102: 97: 92: 87: 82: 77: 72: 67: 62: 57: 51: 48: 47: 44: 43: 37: 36: 26: 9: 6: 4: 3: 2: 3412: 3401: 3398: 3396: 3393: 3391: 3388: 3387: 3385: 3370: 3367: 3365: 3362: 3360: 3357: 3355: 3352: 3350: 3347: 3345: 3342: 3340: 3337: 3335: 3332: 3331: 3329: 3325: 3319: 3316: 3314: 3311: 3309: 3306: 3304: 3301: 3299: 3296: 3294: 3291: 3289: 3286: 3284: 3281: 3279: 3276: 3274: 3271: 3269: 3266: 3264: 3261: 3259: 3256: 3254: 3251: 3249: 3246: 3244: 3241: 3239: 3236: 3234: 3231: 3229: 3226: 3224: 3221: 3219: 3216: 3214: 3211: 3210: 3208: 3206: 3199: 3193: 3190: 3188: 3185: 3183: 3180: 3178: 3175: 3174: 3172: 3168: 3160: 3157: 3155: 3152: 3150: 3147: 3146: 3145: 3142: 3140: 3137: 3133: 3130: 3128: 3125: 3123: 3120: 3118: 3115: 3113: 3110: 3109: 3108: 3105: 3104: 3102: 3098: 3094: 3087: 3082: 3080: 3075: 3073: 3068: 3067: 3064: 3058: 3055: 3054: 3044: 3040: 3035: 3031: 3025: 3021: 3016: 3015: 2995: 2994: 2989: 2983: 2968: 2961: 2953: 2947: 2931: 2924: 2908: 2901: 2886: 2879: 2863: 2857: 2841: 2835: 2819: 2813: 2798: 2791: 2775: 2771: 2765: 2750: 2743: 2728: 2722: 2707: 2703: 2697: 2682: 2678: 2677:daVeiga, Nada 2672: 2664: 2658: 2654: 2650: 2649: 2644: 2638: 2623: 2619: 2612: 2604: 2600: 2594: 2586: 2580: 2561: 2557: 2553: 2549: 2545: 2538: 2534: 2528: 2520: 2518:9780596552817 2514: 2510: 2509: 2501: 2499: 2491: 2486: 2478: 2471: 2464: 2456: 2450: 2446: 2442: 2438: 2432: 2424: 2418: 2414: 2410: 2404: 2396: 2392: 2388: 2382: 2378: 2371: 2363: 2359: 2355: 2349: 2345: 2338: 2330: 2326: 2322: 2318: 2314: 2310: 2306: 2299: 2291: 2285: 2278: 2274: 2268: 2260: 2254: 2250: 2246: 2242: 2238: 2231: 2223: 2217: 2213: 2209: 2205: 2201: 2194: 2186: 2180: 2176: 2172: 2165: 2163: 2154: 2147: 2139: 2133: 2129: 2122: 2120: 2115: 2103: 2100: 2098: 2095: 2093: 2090: 2088: 2085: 2083: 2080: 2078: 2075: 2073: 2070: 2068: 2065: 2063: 2060: 2058: 2055: 2053: 2050: 2048: 2045: 2043: 2040: 2038: 2035: 2033: 2030: 2028: 2025: 2024: 2014:with XojoUnit 2013: 2010: 2008: 2005: 2003: 2000: 1998: 1995: 1993:with testthat 1992: 1989: 1987: 1984: 1982: 1979: 1977: 1974: 1972: 1969: 1967: 1964: 1962: 1959: 1957: 1954: 1952: 1949: 1947: 1944: 1942: 1939: 1937: 1934: 1933: 1931: 1925: 1922: 1920: 1917: 1915: 1912: 1910: 1907: 1905: 1902: 1900: 1897: 1895: 1892: 1890: 1887: 1885: 1882: 1880: 1877: 1875: 1872: 1871: 1869: 1863: 1860: 1858: 1855: 1853: 1850: 1849: 1847: 1844: 1823: 1820: 1818: 1814: 1810: 1806: 1801: 1799: 1795: 1790: 1788: 1778: 1776: 1771: 1769: 1765: 1759: 1755: 1753: 1748: 1746: 1742: 1738: 1723: 1721: 1717: 1713: 1708: 1698: 1695: 1687: 1677: 1673: 1669: 1663: 1662: 1658: 1653:This section 1651: 1647: 1642: 1641: 1315:AdderUnitTest 1291:import static 1287: 1281: 1209: 1192: 1183: 1174: 1165: 1162: 1151: 1143: 1134: 1132: 1128: 1127: 1122: 1118: 1114: 1108: 1106: 1100: 1098: 1093: 1089: 1085: 1081: 1077: 1067: 1063: 1059: 1050: 1048: 1044: 1034: 1032: 1022: 1020: 1016: 1012: 1008: 998: 989: 980: 978: 968: 966: 961: 958: 956: 946: 944: 938: 928: 926: 922: 918: 914: 908: 898: 894: 892: 888: 884: 880: 875: 872: 869: 856: 852: 848: 845: 841: 837: 830: 816: 811: 807: 803: 799: 792: 781: 778: 776: 771: 762: 759: 751: 741: 737: 731: 730: 725:This section 723: 719: 714: 713: 705: 702: 700: 690: 688: 684: 674: 672: 668: 664: 660: 656: 652: 648: 644: 640: 636: 631: 629: 624: 621: 610: 608: 604: 599: 597: 593: 589: 585: 581: 570: 565: 563: 558: 556: 551: 550: 548: 547: 540: 537: 536: 530: 529: 522: 519: 517: 514: 512: 509: 508: 502: 501: 494: 491: 489: 486: 484: 481: 479: 476: 474: 471: 469: 466: 464: 461: 459: 456: 454: 451: 450: 444: 443: 436: 433: 431: 428: 426: 423: 421: 418: 416: 413: 411: 408: 406: 403: 401: 398: 396: 393: 392: 389: 384: 383: 376: 373: 371: 368: 366: 363: 361: 358: 356: 353: 351: 348: 346: 343: 341: 338: 336: 333: 331: 328: 327: 321: 320: 313: 310: 308: 305: 303: 300: 298: 297:Documentation 295: 293: 290: 288: 285: 284: 278: 277: 270: 267: 265: 262: 260: 257: 255: 252: 250: 247: 245: 242: 240: 237: 235: 232: 230: 227: 225: 222: 220: 217: 215: 212: 210: 207: 205: 202: 200: 197: 195: 192: 190: 187: 185: 182: 180: 177: 175: 172: 170: 167: 166: 162: 161:Methodologies 157: 156: 149: 146: 144: 141: 139: 136: 134: 131: 129: 126: 124: 121: 119: 116: 115: 109: 108: 101: 98: 96: 93: 91: 88: 86: 83: 81: 78: 76: 73: 71: 68: 66: 63: 61: 58: 56: 55:Data modeling 53: 52: 46: 45: 42: 39: 38: 34: 33: 30: 19: 3390:Unit testing 3354:Soak testing 3349:Pair testing 3192:Unit testing 3191: 3122:Fuzz testing 3038: 3019: 2997:. Retrieved 2991: 2982: 2970:. Retrieved 2960: 2946: 2934:. Retrieved 2923: 2911:. Retrieved 2900: 2888:. Retrieved 2878: 2866:. Retrieved 2856: 2844:. Retrieved 2842:. golang.org 2834: 2824:18 September 2822:. Retrieved 2812: 2800:. Retrieved 2790: 2778:. Retrieved 2773: 2764: 2752:. Retrieved 2742: 2730:. Retrieved 2721: 2709:. Retrieved 2696: 2684:. Retrieved 2671: 2647: 2637: 2625:. Retrieved 2621: 2611: 2593: 2587:. Microsoft. 2579: 2567:. Retrieved 2560:the original 2547: 2543: 2527: 2507: 2485: 2476: 2463: 2436: 2431: 2412: 2403: 2376: 2370: 2343: 2337: 2312: 2308: 2298: 2276: 2272: 2267: 2240: 2230: 2203: 2193: 2174: 2152: 2146: 2127: 1929: 1867: 1845: 1843:statements. 1829: 1821: 1813:control flow 1811:, and other 1802: 1791: 1784: 1772: 1760: 1756: 1749: 1734: 1726:Applications 1709: 1705: 1690: 1681: 1666:Please help 1654: 1591:assertEquals 1507:assertEquals 1432:assertEquals 1357:assertEquals 1277: 1203: 1189: 1180: 1171: 1157: 1149: 1140: 1131:chronometers 1124: 1109: 1101: 1073: 1064: 1060: 1056: 1040: 1028: 1004: 995: 986: 983:Reduced cost 974: 962: 959: 952: 942: 940: 910: 895: 876: 873: 865: 779: 772: 769: 754: 745: 734:Please help 729:verification 726: 703: 696: 680: 669:developers. 653:". In 1997, 632: 625: 616: 600: 587: 583: 580:Unit testing 579: 578: 415:UML Modeling 410:GUI designer 75:Construction 65:Requirements 29: 3369:Web testing 3213:A/B testing 3149:API testing 2972:11 February 2936:26 February 2913:26 February 1971:Objective-C 1794:third-party 1764:refactoring 1121:Fred Brooks 1088:performance 1084:undecidable 1082:, which is 943:just enough 917:consultants 836:test double 829:Test double 822:Test double 659:Erich Gamma 603:integration 596:source code 133:Prototyping 128:Incremental 100:Maintenance 80:Engineering 3384:Categories 2999:28 January 2846:3 December 2732:29 January 2686:8 February 2409:Beck, Kent 2395:1144086840 2362:1012347252 2110:References 1986:PowerShell 1966:JavaScript 1805:assertions 913:user story 851:dependency 505:Glossaries 95:Deployment 3218:Benchmark 2802:21 August 2645:(1995) . 2477:STAR East 2329:0163-5999 2284:cite book 2092:Test case 1655:does not 1043:bottom-up 1015:functions 855:interface 802:test case 791:Test case 784:Test case 693:Execution 655:Kent Beck 643:Smalltalk 639:Kent Beck 584:component 582:, a.k.a. 324:Practices 148:Waterfall 123:Cleanroom 90:Debugging 60:Processes 18:Unit Test 3327:See also 2890:18 April 2780:5 August 2754:24 March 2627:10 March 2622:Stackify 2411:(2002). 2020:See also 1800:(IDE). 1286:method. 1195:Examples 1007:refactor 965:contract 921:end user 844:software 842:used in 840:software 533:Outlines 463:ISO 9001 405:Profiler 400:Debugger 395:Compiler 370:Stand-up 3205:tactics 2868:15 June 2711:20 July 1951:Clojure 1899:LabVIEW 1879:Crystal 1676:removed 1661:sources 1208:class. 1117:threads 1076:problem 1019:methods 613:History 609:level. 204:Lean SD 143:V model 85:Testing 3043:Apress 3026:  2993:GitHub 2659:  2569:13 May 2515:  2451:  2419:  2393:  2383:  2360:  2350:  2327:  2255:  2218:  2181:  2134:  1956:Elixir 1914:Racket 1909:Python 1904:MATLAB 1884:Erlang 1558:public 1474:public 1399:public 1324:public 1309:public 1300:import 1280:assert 1255:return 1222:public 955:design 879:TestNG 671:Google 649:) in " 607:system 588:module 478:SWEBOK 199:Kanban 174:DevOps 138:Spiral 70:Design 2563:(PDF) 2540:(PDF) 2473:(PDF) 2102:xUnit 1997:Scala 1924:Swift 1894:Julia 1852:Cobra 1840:while 1745:xUnit 1720:xUnit 1603:adder 1585:Adder 1576:adder 1573:Adder 1555:@Test 1522:adder 1501:Adder 1492:adder 1489:Adder 1471:@Test 1444:adder 1426:Adder 1417:adder 1414:Adder 1396:@Test 1369:adder 1351:Adder 1342:adder 1339:Adder 1321:@Test 1312:class 1216:Adder 1213:class 1206:Adder 1200:JUnit 949:Value 901:Agile 891:NUnit 887:XUnit 883:JUnit 663:JUnit 647:SUnit 473:PMBOK 388:Tools 249:SEMAT 244:Scrum 118:Agile 3203:and 3024:ISBN 3001:2016 2974:2015 2938:2019 2915:2019 2892:2016 2870:2022 2848:2013 2826:2017 2804:2023 2782:2017 2756:2009 2734:2024 2713:2020 2688:2008 2657:ISBN 2629:2023 2571:2016 2513:ISBN 2479:: 2. 2449:ISBN 2417:ISBN 2391:OCLC 2381:ISBN 2358:OCLC 2348:ISBN 2325:ISSN 2290:link 2253:ISBN 2216:ISBN 2179:ISBN 2132:ISBN 2012:Xojo 1976:Perl 1961:Java 1936:ABAP 1919:Ruby 1874:Apex 1862:Rust 1837:and 1716:IDEs 1659:any 1657:cite 1615:1234 1597:2222 1561:void 1477:void 1402:void 1327:void 1017:and 889:and 800:, a 677:Unit 667:Java 657:and 620:SAGE 488:IREB 483:ITIL 453:CMMI 330:ATDD 239:SAFe 209:LeSS 184:DSDM 2552:doi 2441:doi 2317:doi 2245:doi 2208:doi 2002:tcl 1981:PHP 1941:C++ 1712:UML 1670:by 1624:)); 1621:988 1609:add 1588:(); 1582:new 1549:)); 1528:add 1504:(); 1498:new 1465:)); 1450:add 1429:(); 1423:new 1390:)); 1375:add 1354:(); 1348:new 1284:sum 1243:int 1234:int 1228:add 1225:int 1123:in 838:is 796:In 775:log 738:by 605:or 586:or 493:OMG 420:IDE 375:TDD 365:SBE 355:DDD 340:CCO 335:BDD 259:TSP 254:TDD 234:RUP 229:RAD 224:PSP 219:MSF 214:MDD 194:IID 189:FDD 179:DAD 169:ASD 3386:: 3041:. 2990:. 2772:. 2655:. 2653:64 2620:. 2601:. 2548:14 2546:. 2542:. 2497:^ 2475:. 2447:. 2389:. 2356:. 2323:. 2311:. 2307:. 2286:}} 2282:{{ 2251:. 2239:. 2214:. 2202:. 2173:. 2161:^ 2118:^ 1946:C# 1889:Go 1834:if 1807:, 1789:. 1770:. 1567:() 1483:() 1408:() 1333:() 1033:. 885:, 881:, 866:A 834:A 360:PP 350:CD 345:CI 269:XP 264:UP 3085:e 3078:t 3071:v 3045:. 3032:. 3003:. 2976:. 2940:. 2917:. 2894:. 2872:. 2850:. 2828:. 2806:. 2784:. 2758:. 2736:. 2715:. 2690:. 2665:. 2631:. 2573:. 2554:: 2521:. 2457:. 2443:: 2425:. 2397:. 2364:. 2331:. 2319:: 2313:7 2292:) 2261:. 2247:: 2224:. 2210:: 2187:. 2140:. 1991:R 1857:D 1697:) 1691:( 1686:) 1682:( 1678:. 1664:. 1630:} 1627:} 1618:, 1612:( 1606:. 1600:, 1594:( 1579:= 1570:{ 1552:} 1546:2 1543:- 1540:, 1537:1 1534:- 1531:( 1525:. 1519:, 1516:3 1513:- 1510:( 1495:= 1486:{ 1468:} 1462:2 1459:, 1456:1 1453:( 1447:. 1441:, 1438:3 1435:( 1420:= 1411:{ 1393:} 1387:0 1384:, 1381:0 1378:( 1372:. 1366:, 1363:0 1360:( 1345:= 1336:{ 1318:{ 1306:; 1297:; 1273:} 1270:} 1267:; 1264:b 1261:+ 1258:a 1252:{ 1249:) 1246:b 1240:, 1237:a 1231:( 1219:{ 831:. 817:. 793:. 761:) 755:( 750:) 746:( 732:. 568:e 561:t 554:v 20:)

Index

Unit Test
Software development
Data modeling
Processes
Requirements
Design
Construction
Engineering
Testing
Debugging
Deployment
Maintenance
Agile
Cleanroom
Incremental
Prototyping
Spiral
V model
Waterfall
Methodologies
ASD
DevOps
DAD
DSDM
FDD
IID
Kanban
Lean SD
LeSS
MDD

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑