Testing Blog

Efficacy Presubmit

pondelok, septembra 17, 2018
Share on Twitter Share on Facebook
Google
Menovky: Peter Spragins , Project Showcase

13 komentárov :

  1. Unknown17. septembra 2018 o 22:11:00 GMT-7

    very nice way to reduce time and get maximum result to deliver the quality the product. I do have a question. If some tests fail in stage 2: presubmit but the set of tests fails for some other reason and not a product defect. Do you still roll back the changes? And what happens if tests pass in stage 2 but fails in stage 3.

    OdpovedaťOdstrániť
    Odpovede
    1. Unknown18. septembra 2018 o 17:38:00 GMT-7

      Hi good questions. For your first question, there is a threshold for automatically rolling back on the number of failing tests. If only one test fails then it is up to the team in question to manually do the roll back and evaluate if the failure was "real".

      Second question, if the tests pass in stage 2 (presubmit) but truly fail in stage 3 (continuous build), there is something wrong. This may be an issue of flakiness, or the test not being hermetic. Fortunately this is quite rare.

      Odstrániť
      Odpovede
        Odpovedať
    2. vivek26. decembra 2018 o 23:22:00 GMT-8

      This seems not rare when we are talking about regression bugs.

      Odstrániť
      Odpovede
        Odpovedať
    3. Odpovedať
  2. Anonymný18. septembra 2018 o 5:26:00 GMT-7

    This is interesting research. I wonder if your team has any intention to productionize such a system for teams/products outside of Google to use?

    OdpovedaťOdstrániť
    Odpovede
    1. Unknown18. septembra 2018 o 17:38:00 GMT-7

      Thanks! We have had very preliminary conversations about this. The difficulty would be in standardizing the data to the point that the product could be applicable to different external products. Internally we have the advantage of uniform data and relatively streamlined data pipelines.

      Odstrániť
      Odpovede
        Odpovedať
    2. DC15. augusta 2019 o 8:47:00 GMT-7

      The company Appsurify (appsurify.com) has come out with a commercial product that does something very similar, using machine learning to find and run the relevant tests on every commit, and analyzing the test results to separate our flaky failures. It's integrated with most common development environments. Microsoft offers something similar called Test Impact Analysis as part of Azure DevOps, but it only for .net and c# files.

      Odstrániť
      Odpovede
        Odpovedať
    3. Odpovedať
  3. The Standing Wall18. septembra 2018 o 7:51:00 GMT-7

    It really sounds great. Would drastically reduce the testing effort.Any plan to make the data and approach open to community.
    Thank you.

    OdpovedaťOdstrániť
    Odpovede
    1. Unknown18. septembra 2018 o 17:40:00 GMT-7

      Thanks! The data itself will most likely not become public but the approach could potentially apply elsewhere. As written above, we have had very preliminary conversations about helping people outside of Google do this.

      Odstrániť
      Odpovede
        Odpovedať
    2. Odpovedať
  4. Unknown20. septembra 2018 o 21:46:00 GMT-7

    Very nice article Peter. The dimensions you have combined together are really interesting - code to test distance and failure history. But the greatest challenge here is labelling of data and even bigger would be dynamically update this, for every run. Picking up Failure history may be simpler, as you have my have this in some form or the other, such AS Test Management tools, but how do you manage to get the code to test distance unless you have a predefined traceability between tests and code modules? Having a threshold for failure probability is nice, but do you not feel that the ML problem you have coined is drifting more towards a rule based approach?

    OdpovedaťOdstrániť
    Odpovede
      Odpovedať
  5. Unknown24. septembra 2018 o 5:26:00 GMT-7

    Sounds like a very efficient and interesting solution. I am wondering about the following points, though:

    1) Does the system require a lot of maintenance?
    2) Do you have numbers regarding how much more efficient the system has become? Maybe a comparison to "the old" system, taking into account the amount of effort that was used to setup/maintain this system?

    OdpovedaťOdstrániť
    Odpovede
      Odpovedať
  6. Kailai Shao18. júla 2019 o 19:17:00 GMT-7

    Sounds good. But how do you link your code and its tests? I think this is the point since an underlying code change may have an effect on countless tests.

    OdpovedaťOdstrániť
    Odpovede
      Odpovedať
  7. Venkatesh-Prasad Ranganath29. augusta 2019 o 12:20:00 GMT-7

    Nice work! This effort seems similar to the test minimization effort that me and my team did with Windows USB Team and Device Compatibility Lab to expedite testing Windows against USB devices. We used structural and temporal patterns in USB stack traffic to identify similar devices (tests) and expedite testing cycles. See "Embrace Dynamic Efforts" chapter in "Perspectives on Data Science for Software Engineering" https://www.elsevier.com/books/perspectives-on-data-science-for-software-engineering/menzies/978-0-12-804206-9 for more info and pointers.

    OdpovedaťOdstrániť
    Odpovede
      Odpovedať
  8. Mehtab Ahmed Khan8. novembra 2019 o 5:00:00 GMT-8

    Very nice article Peter. The dimensions you have combined together are really interesting - code to test distance and failure history. But the greatest challenge here is labelling of data and even bigger would be dynamically update this, for every run. Picking up Failure history may be simpler, as you have my have this in some form or the other, such AS Test Management tools, but how do you manage to get the code to test distance unless you have a predefined traceability between tests and code modules? Having a threshold for failure probability is nice, but do you not feel that the ML problem you have coined is drifting more towards a rule based approach?

    Please visit my some of best post:

    adjectives that start with n | adjectives that start with d | christmas 2019 | claw definition

    OdpovedaťOdstrániť
    Odpovede
      Odpovedať
Pridať komentár
Načítať viac...

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 104
  • 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
  • Ari Shamash 1
  • Arif Sukoco 1
  • Benjamin Pick 1
  • Bob Nystrom 1
  • Bruce Leban 1
  • Carlos Arguelles 1
  • Carlos Israel Ortiz García 1
  • Cathal Weakliam 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
  • 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
  • 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
  • Radoslav Vasilev 1
  • Rajat Dewan 1
  • Rajat Jain 1
  • Rich Martin 1
  • Richard Bustamante 1
  • Roshan Sembacuttiaratchy 1
  • Ruslan Khamitov 1
  • Sam Lee 1
  • Sean Jordan 1
  • Sebastian Dörner 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
  • automation 1
  • dead code 1
  • iOS 1
  • mutation testing 1


Archive


  • ►  2025 (1)
    • ►  jan (1)
  • ►  2024 (13)
    • ►  dec (1)
    • ►  okt (1)
    • ►  sep (1)
    • ►  aug (1)
    • ►  júl (1)
    • ►  máj (3)
    • ►  apr (3)
    • ►  mar (1)
    • ►  feb (1)
  • ►  2023 (14)
    • ►  dec (2)
    • ►  nov (2)
    • ►  okt (5)
    • ►  sep (3)
    • ►  aug (1)
    • ►  apr (1)
  • ►  2022 (2)
    • ►  feb (2)
  • ►  2021 (3)
    • ►  jún (1)
    • ►  apr (1)
    • ►  mar (1)
  • ►  2020 (8)
    • ►  dec (2)
    • ►  nov (1)
    • ►  okt (1)
    • ►  aug (2)
    • ►  júl (1)
    • ►  máj (1)
  • ►  2019 (4)
    • ►  dec (1)
    • ►  nov (1)
    • ►  júl (1)
    • ►  jan (1)
  • ▼  2018 (7)
    • ►  nov (1)
    • ▼  sep (1)
      • Efficacy Presubmit
    • ►  júl (1)
    • ►  jún (2)
    • ►  máj (1)
    • ►  feb (1)
  • ►  2017 (17)
    • ►  dec (1)
    • ►  nov (1)
    • ►  okt (1)
    • ►  sep (1)
    • ►  aug (1)
    • ►  júl (2)
    • ►  jún (2)
    • ►  máj (3)
    • ►  apr (2)
    • ►  feb (1)
    • ►  jan (2)
  • ►  2016 (15)
    • ►  dec (1)
    • ►  nov (2)
    • ►  okt (1)
    • ►  sep (2)
    • ►  aug (1)
    • ►  jún (2)
    • ►  máj (3)
    • ►  apr (1)
    • ►  mar (1)
    • ►  feb (1)
  • ►  2015 (14)
    • ►  dec (1)
    • ►  nov (1)
    • ►  okt (2)
    • ►  aug (1)
    • ►  jún (1)
    • ►  máj (2)
    • ►  apr (2)
    • ►  mar (1)
    • ►  feb (1)
    • ►  jan (2)
  • ►  2014 (24)
    • ►  dec (2)
    • ►  nov (1)
    • ►  okt (2)
    • ►  sep (2)
    • ►  aug (2)
    • ►  júl (3)
    • ►  jún (3)
    • ►  máj (2)
    • ►  apr (2)
    • ►  mar (2)
    • ►  feb (1)
    • ►  jan (2)
  • ►  2013 (16)
    • ►  dec (1)
    • ►  nov (1)
    • ►  okt (1)
    • ►  aug (2)
    • ►  júl (1)
    • ►  jún (2)
    • ►  máj (2)
    • ►  apr (2)
    • ►  mar (2)
    • ►  jan (2)
  • ►  2012 (11)
    • ►  dec (1)
    • ►  nov (2)
    • ►  okt (3)
    • ►  sep (1)
    • ►  aug (4)
  • ►  2011 (39)
    • ►  nov (2)
    • ►  okt (5)
    • ►  sep (2)
    • ►  aug (4)
    • ►  júl (2)
    • ►  jún (5)
    • ►  máj (4)
    • ►  apr (3)
    • ►  mar (4)
    • ►  feb (5)
    • ►  jan (3)
  • ►  2010 (37)
    • ►  dec (3)
    • ►  nov (3)
    • ►  okt (4)
    • ►  sep (8)
    • ►  aug (3)
    • ►  júl (3)
    • ►  jún (2)
    • ►  máj (2)
    • ►  apr (3)
    • ►  mar (3)
    • ►  feb (2)
    • ►  jan (1)
  • ►  2009 (54)
    • ►  dec (3)
    • ►  nov (2)
    • ►  okt (3)
    • ►  sep (5)
    • ►  aug (4)
    • ►  júl (15)
    • ►  jún (8)
    • ►  máj (3)
    • ►  apr (2)
    • ►  feb (5)
    • ►  jan (4)
  • ►  2008 (75)
    • ►  dec (6)
    • ►  nov (8)
    • ►  okt (9)
    • ►  sep (8)
    • ►  aug (9)
    • ►  júl (9)
    • ►  jún (6)
    • ►  máj (6)
    • ►  apr (4)
    • ►  mar (4)
    • ►  feb (4)
    • ►  jan (2)
  • ►  2007 (41)
    • ►  okt (6)
    • ►  sep (5)
    • ►  aug (3)
    • ►  júl (2)
    • ►  jún (2)
    • ►  máj (2)
    • ►  apr (7)
    • ►  mar (5)
    • ►  feb (5)
    • ►  jan (4)

Feed

  • Google
  • Privacy
  • Terms