Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Use in different fields  



1.1  Mathematical  





1.2  Physical  





1.3  Software development  







2 See also  





3 References  














Sanity check






Deutsch
Español
فارسی
Bahasa Melayu

Norsk bokmål
Polski
Português

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from Sanity test)

Asanity checkorsanity test is a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true. It is a simple check to see if the produced material is rational (that the material's creator was thinking rationally, applying sanity). The point of a sanity test is to rule out certain classes of obviously false results, not to catch every possible error. A rule-of-thumborback-of-the-envelope calculation may be checked to perform the test. The advantage of performing an initial sanity test is that of speedily evaluating basic function.

In arithmetic, for example, when multiplying by 9, using the divisibility rule for 9 to verify that the sum of digits of the result is divisible by 9 is a sanity test—it will not catch every multiplication error, but is a quick and simple method to discover many possible errors.

Incomputer science, a sanity test is a very brief run-through of the functionality of a computer program, system, calculation, or other analysis, to assure that part of the system or methodology works roughly as expected. This is often prior to a more exhaustive round of testing.

Use in different fields[edit]

Mathematical[edit]

A sanity test can refer to various orders of magnitude and other simple rule-of-thumb devices applied to cross-check mathematical calculations. For example:

Physical[edit]

Software development[edit]

In software development, a sanity test (a form of software testing which offers "quick, broad, and shallow testing"[1]) evaluates the result of a subset of application functionality to determine whether it is possible and reasonable to proceed with further testing of the entire application.[2] Sanity tests may sometimes be used interchangeably with smoke tests[3] insofar as both terms denote tests which determine whether it is possible and reasonable to continue testing further. On the other hand, a distinction is sometimes made that a smoke test is a non-exhaustive test that ascertains whether the most crucial functions of a programme work before proceeding with further testing whereas a sanity test refers to whether specific functionality such as a particular bug fix works as expected without testing the wider functionality of the software.[citation needed] In other words, a sanity test determines whether the intended result of a code change works correctly while a smoke test ensures that nothing else important was broken in the process. Sanity testing and smoke testing avoid wasting time and effort by quickly determining whether an application is too flawed to merit more rigorous QA testing, but needs more developer debugging.

Groups of sanity tests are often bundled together for automated unit testing of functions, libraries, or applications prior to merging development code into a testing or trunk version control branch,[4] for automated building,[5] or for continuous integration and continuous deployment.[6]

Another common usage of sanity test is to denote checks which are performed within programme code, usually on arguments to functions or returns therefrom, to see if the answers can be assumed to be correct. The more complicated the routine, the more important that its response be checked. The trivial case is checking to see whether the return value of a function indicated success or failure, and to therefore cease further processing upon failure. This return value is actually often itself the result of a sanity check. For example, if the function attempted to open, write to, and close a file, a sanity check may be used to ensure that it did not fail on any of these actions—which is a sanity check often ignored by programmers.[7]

These kinds of sanity checks may be used during development for debugging purposes and also to aid in troubleshooting software runtime errors. For example, in a bank account management application, a sanity check will fail if a withdrawal requests more money than the total account balance rather than allowing the account to go negative (which wouldn't be sane). Another sanity test might be that deposits or purchases correspond to patterns established by historical data—for example, large purchase transactions or ATM withdrawals in foreign locations never before visited by the cardholder may be flagged for confirmation.[citation needed]

Sanity checks are also performed upon installation of stable, production software code into a new computing environment to ensure that all dependencies are met, such as a compatible operating system and link libraries. When a computing environment has passed all the sanity checks, it's known as a sane environment for the installation programme to proceed with reasonable expectation of success.

A"Hello, World!" program is often used as a sanity test for a development environment similarly. Rather than a complicated script running a set of unit tests, if this simple programme fails to compile or execute, it proves that the supporting environment likely has a configuration problem that will prevent any code from compiling or executing. But if "Hello world" executes, then any problems experienced with other programmes likely can be attributed to errors in that application's code rather than the environment.

The Association for Computing Machinery,[8] and software projects such as Android,[9] MediaWiki[10] and Twitter,[11] discourage use of the phrase sanity check in favour of other terms such as confidence test, coherence check, or simply test, as part of a wider attempt to avoid ableist language and increase inclusivity.

See also[edit]

References[edit]

  1. ^ Fecko, Mariusz A.; Lott, Christopher M. (October 2002). "Lessons learned from automating tests for an operations support system" (PDF). Software: Practice and Experience. 32 (15): 1485–1506. doi:10.1002/spe.491. S2CID 16820529. Archived from the original (PDF) on 17 July 2003.
  • ^ Sammi, Rabia; Masood, Iram; Jabeen, Shunaila (2011). Zain, Jasni Mohamad; Wan Mohd, Wan Maseri bt; El-Qawasmeh, Eyas (eds.). "A Framework to Assure the Quality of Sanity Check Process". Software Engineering and Computer Systems. Communications in Computer and Information Science. 181. Berlin, Heidelberg: Springer: 143–150. doi:10.1007/978-3-642-22203-0_13. ISBN 978-3-642-22203-0.
  • ^ ISTQB® Glossary for the International Software Testing Qualification Board® software testing qualification scheme, ISTQB Glossary International Software Testing Qualification Board
  • ^ Jørgensen, Niels (2001). "Putting it all in the trunk: incremental software development in the FreeBSD open source project" (PDF). Information Systems Journal. 11 (4): 321. doi:10.1046/J.1365-2575.2001.00113.X.
  • ^ Hassan, A. E. and Zhang, K. 2006. Using Decision Trees to Predict the Certification Result of a Build. In Proceedings of the 21st IEEE/ACM international Conference on Automated Software Engineering (September 18 – 22, 2006). Automated Software Engineering. IEEE Computer Society, Washington, DC, 189–198.
  • ^ Chasidim, Hadas; Almog, Dani; Sohacheski, Dov Benyomin; Gillenson, Mark Lee; Poston, Robin S.; Mark, Shlomo (2018). "The Unit Test: Facing CICD - Are They Elusive Definitions?" (PDF). Journal of Information Technology Management. 29 (2): 40–54.
  • ^ Darwin, Ian F. (January 1991). Checking C programs with lint (1st ed., with minor revisions. ed.). Newton, Mass.: O'Reilly & Associates. p. 19. ISBN 0-937175-30-7. Retrieved 7 October 2014. A common programming habit is to ignore the return value from fprintf(stderr, ...
  • ^ "Words Matter". 2020-11-20. Retrieved 2023-06-29.
  • ^ "Coding with respect". Android Open Source Project. 2022-11-16. Retrieved 2023-01-23.
  • ^ "Inclusive language/en-gb - MediaWiki". www.mediawiki.org. Retrieved 2023-01-23.
  • ^ "Twitter Engineering". Twitter. Retrieved 2023-01-23.

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Sanity_check&oldid=1224258079"

    Categories: 
    Software testing
    Error detection and correction
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    All articles with unsourced statements
    Articles with unsourced statements from January 2021
     



    This page was last edited on 17 May 2024, at 07:00 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki