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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.