Testing Blog

My Unified Theory of Bugs

火曜日, 11月 18, 2008
Share on Twitter Share on Facebook
Google
ラベル: Misko Hevery

7 件のコメント :

  1. Zachary D. Shaw2008年11月18日 15:45:00 GMT-8

    Hey Misko great post, and I enjoy the blog! Is it too presumptuous of me to suggest another category of bugs? How about promiscuous references, where you accidentally share a reference and some where else someone modifies your state.

    返信削除
    返信
      返信
  2. Eric Jain2008年11月19日 11:56:00 GMT-8

    Does the "wiring" category include bugs that result from wrong assumptions about libraries or frameworks you are using? This (along with failing to take into account some of the things that can happen) is perhaps my most common kind of bug.

    返信削除
    返信
      返信
  3. Younghoe.info2008年11月19日 20:13:00 GMT-8

    Can you temll me how to figure out the number of bugs?
    Anyway, I think this is a very good post... :)

    返信削除
    返信
      返信
  4. 匿名2008年11月20日 9:24:00 GMT-8

    > they don't really understand testable-code

    I'd love to see a blog post with a top-10 (or top-5, or top-3, whatever) guidelines to follow to produce testable code.

    I realize many of your blog posts touch on various aspects of this, but it'd be helpful to see a snapshot of the most important points.

    返信削除
    返信
      返信
  5. Misko2008年11月21日 11:16:00 GMT-8

    Just do opposite of this:
    http://misko.hevery.com/2008/07/24/how-to-write-3v1l-untestable-code/

    返信削除
    返信
      返信
  6. Kim Gräsman2008年11月23日 2:10:00 GMT-8

    I too think there's a category missing: accidental [1] bugs.

    Race conditions, timing issues, crashes, performance problems, for example. Things that aren't essential to your program, but affect it deeply when they don't work.

    I didn't manage to classify them into either of the other buckets, but maybe you have more thoughts on this?

    Thanks,
    - Kim

    [1] In the sense of the second definition here: http://en.wiktionary.org/wiki/accidental

    返信削除
    返信
      返信
  7. Bartosz Piekny2019年10月5日 2:07:00 GMT-7

    "Unit-test are focused on a single CUT (class-under-test)" - IMHO it's wrong. Unit tests is about testing a unit. It doesn't need to be one class. Do you have any resource related to mentioned statement?

    返信削除
    返信
      返信
コメントを追加
もっと読み込む...

The comments you read and contribute here belong only to the person who posted them. We reserve the right to remove off-topic comments.

  

Labels


  • TotT 114
  • GTAC 61
  • James Whittaker 42
  • Misko Hevery 32
  • Code Health 31
  • Anthony Vallone 27
  • Patrick Copeland 23
  • Jobs 18
  • Andrew Trenk 13
  • C++ 11
  • Patrik Höglund 8
  • JavaScript 7
  • Allen Hutchison 6
  • George Pirocanac 6
  • Zhanyong Wan 6
  • Harry Robinson 5
  • Java 5
  • Julian Harty 5
  • Adam Bender 4
  • Alberto Savoia 4
  • Ben Yu 4
  • Erik Kuefler 4
  • Philip Zembrod 4
  • Shyam Seshadri 4
  • Chrome 3
  • Dillon Bly 3
  • John Thomas 3
  • Lesley Katzen 3
  • Marc Kaplan 3
  • Markus Clermont 3
  • Max Kanat-Alexander 3
  • Sonal Shah 3
  • APIs 2
  • Abhishek Arya 2
  • Alan Myrvold 2
  • Alek Icev 2
  • Android 2
  • April Fools 2
  • Chaitali Narla 2
  • Chris Lewis 2
  • Chrome OS 2
  • Diego Salas 2
  • Dori Reuveni 2
  • Jason Arbon 2
  • Jochen Wuttke 2
  • Kostya Serebryany 2
  • Marc Eaddy 2
  • Marko Ivanković 2
  • Mobile 2
  • Oliver Chang 2
  • Simon Stewart 2
  • Stefan Kennedy 2
  • Test Flakiness 2
  • Titus Winters 2
  • Tony Voellm 2
  • WebRTC 2
  • Yiming Sun 2
  • Yvette Nameth 2
  • Zuri Kemp 2
  • Aaron Jacobs 1
  • Adam Porter 1
  • Adam Raider 1
  • Adel Saoud 1
  • Alan Faulkner 1
  • Alex Eagle 1
  • Amy Fu 1
  • Anantha Keesara 1
  • Antoine Picard 1
  • App Engine 1
  • Arham Jain 1
  • Ari Shamash 1
  • Arif Sukoco 1
  • Bartosz Papis 1
  • Benjamin Pick 1
  • Bob Nystrom 1
  • Bruce Leban 1
  • Carlos Arguelles 1
  • Carlos Israel Ortiz García 1
  • Cathal Weakliam 1
  • Chris Kennelly 1
  • Christopher Semturs 1
  • Clay Murphy 1
  • Dagang Wei 1
  • Dan Maksimovich 1
  • Dan Shi 1
  • Dan Willemsen 1
  • Dave Chen 1
  • Dave Gladfelter 1
  • David Bendory 1
  • David Mandelberg 1
  • Derek Snyder 1
  • Diego Cavalcanti 1
  • Dmitry Vyukov 1
  • Eduardo Bravo Ortiz 1
  • Ekaterina Kamenskaya 1
  • Elliott Karpilovsky 1
  • Elliotte Rusty Harold 1
  • Espresso 1
  • Felipe Sodré 1
  • Francois Aube 1
  • Gene Volovich 1
  • Google+ 1
  • Goran Petrovic 1
  • Goranka Bjedov 1
  • Hank Duan 1
  • Havard Rast Blok 1
  • Hongfei Ding 1
  • Jason Elbaum 1
  • Jason Huggins 1
  • Jay Han 1
  • Jeff Hoy 1
  • Jeff Listfield 1
  • Jessica Tomechak 1
  • Jim Reardon 1
  • Joe Allan Muharsky 1
  • Joel Hynoski 1
  • John Micco 1
  • John Penix 1
  • Jonathan Rockway 1
  • Jonathan Velasquez 1
  • Josh Armour 1
  • Julie Ralph 1
  • Kai Kent 1
  • Kanu Tewary 1
  • Karin Lundberg 1
  • Kaue Silveira 1
  • Kevin Bourrillion 1
  • Kevin Graney 1
  • Kirkland 1
  • Kurt Alfred Kluever 1
  • Kyle Freeman 1
  • Manjusha Parvathaneni 1
  • Marek Kiszkis 1
  • Marius Latinis 1
  • Mark Ivey 1
  • Mark Manley 1
  • Mark Striebeck 1
  • Matt Lowrie 1
  • Meredith Whittaker 1
  • Michael Bachman 1
  • Michael Klepikov 1
  • Mike Aizatsky 1
  • Mike Wacker 1
  • Mona El Mahdy 1
  • Nimit Khandelwal 1
  • Noel Yap 1
  • Palak Bansal 1
  • Patricia Legaspi 1
  • Per Jacobsson 1
  • Peter Arrenbrecht 1
  • Peter Spragins 1
  • Phil Norman 1
  • Phil Rollet 1
  • Pooja Gupta 1
  • Project Showcase 1
  • Radion Khait 1
  • Radoslav Vasilev 1
  • Rahul Singal 1
  • Rajat Dewan 1
  • Rajat Jain 1
  • Rich Martin 1
  • Richard Bustamante 1
  • Roman Govsheev 1
  • Roshan Sembacuttiaratchy 1
  • Ruslan Khamitov 1
  • Saicharan Nimmala 1
  • Sam Lee 1
  • Sean Jordan 1
  • Sebastian Dörner 1
  • Shahar Roth 1
  • Sharon Zhou 1
  • Shiva Garg 1
  • Siddartha Janga 1
  • Simran Basi 1
  • Stan Chan 1
  • Stephen Ng 1
  • Tejas Shah 1
  • Test Analytics 1
  • Test Engineer 1
  • Tim Lyakhovetskiy 1
  • Tom O'Neill 1
  • Vojta Jína 1
  • Zhe Lu 1
  • automation 1
  • dead code 1
  • iOS 1
  • mutation testing 1


Archive


  • ►  2026 (8)
    • ►  10月 (1)
    • ►  7月 (1)
    • ►  6月 (1)
    • ►  5月 (2)
    • ►  4月 (1)
    • ►  3月 (2)
  • ►  2025 (3)
    • ►  10月 (1)
    • ►  9月 (1)
    • ►  1月 (1)
  • ►  2024 (13)
    • ►  12月 (1)
    • ►  10月 (1)
    • ►  9月 (1)
    • ►  8月 (1)
    • ►  7月 (1)
    • ►  5月 (3)
    • ►  4月 (3)
    • ►  3月 (1)
    • ►  2月 (1)
  • ►  2023 (14)
    • ►  12月 (2)
    • ►  11月 (2)
    • ►  10月 (5)
    • ►  9月 (3)
    • ►  8月 (1)
    • ►  4月 (1)
  • ►  2022 (2)
    • ►  2月 (2)
  • ►  2021 (3)
    • ►  6月 (1)
    • ►  4月 (1)
    • ►  3月 (1)
  • ►  2020 (8)
    • ►  12月 (2)
    • ►  11月 (1)
    • ►  10月 (1)
    • ►  8月 (2)
    • ►  7月 (1)
    • ►  5月 (1)
  • ►  2019 (4)
    • ►  12月 (1)
    • ►  11月 (1)
    • ►  7月 (1)
    • ►  1月 (1)
  • ►  2018 (7)
    • ►  11月 (1)
    • ►  9月 (1)
    • ►  7月 (1)
    • ►  6月 (2)
    • ►  5月 (1)
    • ►  2月 (1)
  • ►  2017 (17)
    • ►  12月 (1)
    • ►  11月 (1)
    • ►  10月 (1)
    • ►  9月 (1)
    • ►  8月 (1)
    • ►  7月 (2)
    • ►  6月 (2)
    • ►  5月 (3)
    • ►  4月 (2)
    • ►  2月 (1)
    • ►  1月 (2)
  • ►  2016 (15)
    • ►  12月 (1)
    • ►  11月 (2)
    • ►  10月 (1)
    • ►  9月 (2)
    • ►  8月 (1)
    • ►  6月 (2)
    • ►  5月 (3)
    • ►  4月 (1)
    • ►  3月 (1)
    • ►  2月 (1)
  • ►  2015 (14)
    • ►  12月 (1)
    • ►  11月 (1)
    • ►  10月 (2)
    • ►  8月 (1)
    • ►  6月 (1)
    • ►  5月 (2)
    • ►  4月 (2)
    • ►  3月 (1)
    • ►  2月 (1)
    • ►  1月 (2)
  • ►  2014 (24)
    • ►  12月 (2)
    • ►  11月 (1)
    • ►  10月 (2)
    • ►  9月 (2)
    • ►  8月 (2)
    • ►  7月 (3)
    • ►  6月 (3)
    • ►  5月 (2)
    • ►  4月 (2)
    • ►  3月 (2)
    • ►  2月 (1)
    • ►  1月 (2)
  • ►  2013 (16)
    • ►  12月 (1)
    • ►  11月 (1)
    • ►  10月 (1)
    • ►  8月 (2)
    • ►  7月 (1)
    • ►  6月 (2)
    • ►  5月 (2)
    • ►  4月 (2)
    • ►  3月 (2)
    • ►  1月 (2)
  • ►  2012 (11)
    • ►  12月 (1)
    • ►  11月 (2)
    • ►  10月 (3)
    • ►  9月 (1)
    • ►  8月 (4)
  • ►  2011 (39)
    • ►  11月 (2)
    • ►  10月 (5)
    • ►  9月 (2)
    • ►  8月 (4)
    • ►  7月 (2)
    • ►  6月 (5)
    • ►  5月 (4)
    • ►  4月 (3)
    • ►  3月 (4)
    • ►  2月 (5)
    • ►  1月 (3)
  • ►  2010 (37)
    • ►  12月 (3)
    • ►  11月 (3)
    • ►  10月 (4)
    • ►  9月 (8)
    • ►  8月 (3)
    • ►  7月 (3)
    • ►  6月 (2)
    • ►  5月 (2)
    • ►  4月 (3)
    • ►  3月 (3)
    • ►  2月 (2)
    • ►  1月 (1)
  • ►  2009 (54)
    • ►  12月 (3)
    • ►  11月 (2)
    • ►  10月 (3)
    • ►  9月 (5)
    • ►  8月 (4)
    • ►  7月 (15)
    • ►  6月 (8)
    • ►  5月 (3)
    • ►  4月 (2)
    • ►  2月 (5)
    • ►  1月 (4)
  • ▼  2008 (75)
    • ►  12月 (6)
    • ▼  11月 (8)
      • Guide to Writing Testable Code
      • Online Machine Learning Testing == Extreme Testing
      • Clean Code Talks - Global State and Singletons
      • My Unified Theory of Bugs
      • TotT: Finding Data Races in C++
      • Clean Code Talks - Dependency Injection
      • Clean Code Talks - Unit Testing
      • Partial Automation: Keeping humans in the loop
    • ►  10月 (9)
    • ►  9月 (8)
    • ►  8月 (9)
    • ►  7月 (9)
    • ►  6月 (6)
    • ►  5月 (6)
    • ►  4月 (4)
    • ►  3月 (4)
    • ►  2月 (4)
    • ►  1月 (2)
  • ►  2007 (41)
    • ►  10月 (6)
    • ►  9月 (5)
    • ►  8月 (3)
    • ►  7月 (2)
    • ►  6月 (2)
    • ►  5月 (2)
    • ►  4月 (7)
    • ►  3月 (5)
    • ►  2月 (5)
    • ►  1月 (4)

Feed

  • Google
  • Privacy
  • Terms