• Home
  • Moments

Saved searches

  • Remove
  • In this conversation
    Verified account @
Suggested users
  • Verified account @
  • Verified account @
  • Language: English UK
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Have an account? Log in
    Have an account?
    · Forgot password?

    New to Twitter?
    Sign up
sarahmei's profile
Sarah Mei
Sarah Mei
Sarah Mei
@sarahmei

Sarah Mei

@sarahmei

Software dev, founder of @railsbridge, Director of Ruby Central, Chief Consultant of @devmyndsoftware. She/her. IM IN UR BASE TEACHIN U HOW TO REFACTOR UR CODE

sarahmei.com
Joined March 2008
  • © 2017 Twitter
  • About
  • Help
  • Terms
  • Privacy
  • Cookies
  • Ads info
Dismiss
Previous
Next

Go to a person's profile

Saved searches

  • Remove
  • In this conversation
    Verified account @
Suggested users
  • Verified account @
  • Verified account @

Retweet this to your followers?

Optional comment for Retweet
 

Saved searches

  • Remove
  • In this conversation
    Verified account @
Suggested users
  • Verified account @
  • Verified account @
 
140

Are you sure you want to delete this Tweet?

Promote this Tweet

Block

  • Add a location to your Tweets

    When you tweet with a location, Twitter stores that location. You can switch location on/off before each Tweet and always have the option to delete your location history. Learn more

    Your lists

    Create a new list


    Under 100 characters, optional

    lists:Privacy

    Copy link to Tweet

    Embed this Tweet

    Embed this Video

    Add this Tweet to your website by copying the code below. Learn more

    Add this video to your website by copying the code below. Learn more

    Hmm, there was a problem reaching the server.

    Preview

    Log in to Twitter

    · Forgot password?
    Don't have an account? Sign up »

    Sign up for Twitter

    Not on Twitter? Sign up, tune into the things you care about, and get updates as they happen.

    Sign up
    Have an account? Log in »

    Two-way (sending and receiving) short codes:

    Country Code For customers of
    United States 40404 (any)
    Canada 21212 (any)
    United Kingdom 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Ireland 51210 Vodafone, O2
    India 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italy 4880804 Wind
    3424486444 Vodafone
    » See SMS short codes for other countries

    Confirmation

     

    Buy Now

    Buy Now

    Hmm... Something went wrong. Please try again.

    Welcome home!

    This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.

    Tweets not doing it for you?

    Hover over the profile pic and click the Following button to unfollow any account you're not interested in anymore.

    Say a lot with a little

    When you see a Tweet you love, tap the heart — it lets the person who wrote it know that you appreciate them.

    Spread the word

    The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.

    Join the conversation

    Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about and jump right in.

    Learn the latest

    Get instant insight into what people are talking about right now.

    Get more of what you love

    Follow more accounts to get instant updates about topics you care about.

    Find out what's happening

    See the latest conversations about any topic instantly.

    Never miss a Moment

    Catch up instantly on the best stories happening as they unfold.

    Previous Tweet
    1. Sarah Mei ‏@sarahmei 9 Jan 2016

      Three distinct testing topics usually muddled together: 1. Categories (unit, integration) 2. Mechanics (mocks, assertions) 3. Motivation

      5 replies . 31 retweets 67 likes
    2. Sarah Mei ‏@sarahmei 9 Jan 2016

      Motivation for writing tests, in particular, is completely missing from most writing, or else given a few paragraphs in the introduction.

      2 replies . 6 retweets 14 likes
    3. Sarah Mei ‏@sarahmei 9 Jan 2016

      But misunderstanding of WHY and WHEN you write tests is incredibly widespread, and basically wipes out the benefits of testing.

      3 replies . 16 retweets 20 likes
    4. Sarah Mei ‏@sarahmei 9 Jan 2016

      So many teams go through the motions of writing tests without getting the benefits. And then they buy another book about mocks...

      2 replies . 15 retweets 10 likes
    5. Sarah Mei ‏@sarahmei 9 Jan 2016

      Test suites don't suck because we don't 'get' mocks. Test suites suck because we don't think enough about when or why tests are useful.

      7 replies . 34 retweets 26 likes
    6. Sarah Mei ‏@sarahmei 9 Jan 2016

      There are at least four distinct reasons to write tests that are in play every time you change your codebase.

      1 reply . 4 retweets 7 likes
      Sarah Mei ‏@sarahmei 9 Jan 2016

      The four primary reasons developers write tests: 1. Prevent regressions 2. Improve design 3. Enable later refactoring 4. Document behavior

      • Retweets 185
      • Likes 189
      • Daniel Miladinov Justin Cook David Buschman Georg Berky (((GVespucci))) Feugy Javier Fortea Steve Barnett Bruno Henrique -Garu
      11:33 am - 9 Jan 2016 From Chicago, IL
      20 replies . 185 retweets 189 likes
        1. Sarah Mei ‏@sarahmei 9 Jan 2016

          Crucially: the portfolio of tests you write changes depending on which of these are most important. Different _mechanics_ come into play.

          1 reply . 12 retweets 10 likes
        2. Sarah Mei ‏@sarahmei 9 Jan 2016

          Which reasons are most important to you, in turn, are different in different places in the codebase, and also shift over time.

          2 replies . 5 retweets 4 likes
        3. Sarah Mei ‏@sarahmei 9 Jan 2016

          When people make statements about test mechanics ("don't use mocks!"), they're really just telling you how they order that list of reasons.

          1 reply . 16 retweets 13 likes
        4. Sarah Mei ‏@sarahmei 9 Jan 2016

          I want more discussions of how various mechanics enable or restrict tests from fulfilling those basic reasons, and fewer blanket statements.

          2 replies . 6 retweets 13 likes
        5. Sarah Mei ‏@sarahmei 9 Jan 2016

          This is NOT a list of what you always get. They're possible outcomes, and you can write tests differently to emphasize different ones.

          1 reply . 0 retweets 4 likes
        6. Sarah Mei ‏@sarahmei 9 Jan 2016

          Imagine a set of tests written with only one goal in mind: preventing regressions. What does that look like?

          3 replies . 6 retweets 6 likes
        7. Sarah Mei ‏@sarahmei 9 Jan 2016

          When I see a codebase primarily covered with top-level integration tests, I know that team sees regression catching as testing's only goal.

          4 replies . 13 retweets 18 likes
        8. Sarah Mei ‏@sarahmei 9 Jan 2016

          Now imagine a set of tests written with the express goal of enabling later refactoring. That looks quite different.

          2 replies . 7 retweets 9 likes
        9. Show more
        1. Pete Hodgson ‏@ph1 9 Jan 2016

          @sarahmei also, #4 doesn't ring true for me. Speaking as an ardent long term TDDist I think we always wanted this to be true but it ain't.

          2 replies . 0 retweets 0 likes
        2. Sarah Mei ‏@sarahmei 9 Jan 2016

          @ph1 it's possible to write tests that add nothing to your understanding. It's also possible to write tests that illuminate dark corners.

          2 replies . 1 retweet 1 like
        3. Sarah Mei ‏@sarahmei 9 Jan 2016

          @ph1 These aren't a list of what you always get; they're possible outcomes, and you can write tests differently to emphasize different ones.

          1 reply . 1 retweet 1 like
        4. Pete Hodgson ‏@ph1 9 Jan 2016

          @sarahmei ah. An interesting lens to look at them through.

          0 replies . 0 retweets 0 likes
        1. Pete Hodgson ‏@ph1 9 Jan 2016

          @sarahmei I'd perhaps replace 1 with a more general "validate behavior". I usually first write tests to verify things actually work.

          2 replies . 1 retweet 2 likes
        2. Sarah Mei ‏@sarahmei 9 Jan 2016

          @ph1 Hmm, you're right - this list is more the lasting effects of writing a test. Maybe there's another list of more immediate benefits.

          2 replies . 0 retweets 0 likes
        3. Pete Hodgson ‏@ph1 9 Jan 2016

          @sarahmei not sure it's worth distinguishing - all I can see in the immediate list is "correct" and "good design". Maybe faster feedback?

          0 replies . 0 retweets 1 like
        1. justin-tuchek.apk ‏@JustinTuchek 9 Jan 2016

          @sarahmei 1 & 3 are independently true, I think 2 & 4 are partially byproducts

          1 reply . 0 retweets 0 likes
        2. Sarah Mei ‏@sarahmei 9 Jan 2016

          @JustinTuchek You just told me which items in the list you value most. Different technologies/codebases would most likely prompt reordering.

          0 replies . 0 retweets 0 likes
        1. Stephen Pengilley ‏@SPengilley 9 Jan 2016

          @sarahmei @grmpyprogrammer don't forget because they feel pressured to do so by just about any programming blogger ;)

          2 replies . 0 retweets 1 like
        2. Dalibor Karlović ‏@dkarlovi 9 Jan 2016

          .@SPengilley @sarahmei @grmpyprogrammer if you feel externally pressured to do tests, you haven't been programming long enough. :)

          1 reply . 0 retweets 1 like
        3. Sarah Mei ‏@sarahmei 9 Jan 2016

          @dkarlovi @SPengilley @grmpyprogrammer external pressure can be an opportunity to talk with the source about their underlying reasons.

          0 replies . 2 retweets 4 likes

      Loading seems to be taking a while.

      Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

        Promoted Tweet

        false

        • © 2017 Twitter
        • About
        • Help
        • Terms
        • Privacy
        • Cookies
        • Ads info