47 Matching Annotations
  1. May 2026
    1. So I realized what I value more than the quality of the tests and documentation is that I want somebody to have _used_ the thing. If you've got a vibe coded thing which you have used every day for the past two weeks, that's much more valuable to me than something that you've just spat out and hardly even exercised.

      作者认为评估软件时,实际使用经验比测试和文档质量更重要,这改变了传统的软件评估标准。

    1. Most passing SWE-Bench solutions are not accepted by maintainers.

      大多数人认为通过自动化基准测试(如SWE-Bench)通过的AI系统在实际应用中也能表现良好,但作者指出事实恰恰相反——大多数通过测试的解决方案实际上并不被维护者接受。这挑战了AI评估领域的有效性,表明自动化测试可能无法反映真实世界的质量标准。

  2. Apr 2026
    1. This class of bug is insidious because it evades every layer of defense. It will not be caught in development testing — who runs a test for 50 days? It will not be flagged in code review — the logic looks perfectly reasonable.

      大多数人认为代码审查和测试能捕获大多数系统性缺陷,但作者认为这个bug的特殊性使其能够逃避所有常规检测手段。这挑战了软件质量保证的基本假设,暗示某些缺陷只有在极端条件下才会显现,而常规开发流程无法覆盖这些场景。

  3. Aug 2024
  4. May 2024
  5. Dec 2023
  6. Nov 2022
  7. Jun 2022
  8. Mar 2022
    1. A test case is a series of actions that are performed to determine a specific function or functionality of your application. Test scenarios are rather vague and include a wide range of variables. However, testing is all about being very specific. That is why we need elaborate test cases.

      Test cases, examples and Best Practices A test case is a series of actions that are performed to determine a specific function or functionality of your application. Test scenarios are rather vague and include a wide range of variables. However, testing is all about being very specific. That is why we need elaborate test cases.

  9. Feb 2022
  10. Nov 2021
  11. Sep 2021
  12. Jun 2021
  13. Mar 2021
  14. Feb 2021
  15. Nov 2020
  16. Oct 2020
  17. Jun 2020
  18. May 2020
  19. Apr 2020
  20. Feb 2020
  21. Nov 2019
    1. You want to write maintainable tests for your React components. As a part of this goal, you want your tests to avoid including implementation details of your components and rather focus on making your tests give you the confidence for which they are intended. As part of this, you want your testbase to be maintainable in the long run so refactors of your components (changes to implementation but not functionality) don't break your tests and slow you and your team down.
  22. Nov 2018
    1. Something that I've found helps greatly with testing is that when you have code with lots of nested function calls you should try to refactor it into a flat, top level pipeline rather than a calling each function from inside its parent function. Luckily in clojure this is really easy to do with macros like -> and friends, and once you start embracing this approach you can enter a whole new world of transducers. What I mean by a top level pipeline is that for example instead of writing code like this: (defn remap-keys [data] ...some logic...) (defn process-data [data] (remap-keys (flatten data))) (defn get-data [] (let [data (http/get *url*)] (process-data data))) you should make each step its own pure function which receives and returns data, and join them all together at the top with a threading macro: (defn fetch-data [url] (http/get url)) (defn process-data [data] (flatten data)) (defn remap-keys [data] ...some logic...) (defn get-data [] (-> *url* fetch-data process-data remap-keys)) You code hasn't really changed, but now each function can be tested completely independently of the others, because each one is a pure data transform with no internal calls to any of your other functions. You can use the repl to run each step one at a time and in doing so also capture some mock data to use for your tests! Additionally you could make an e2e tests pipeline which runs the same code as get-data but just starts with a different URL, however I would not advise doing this in most cases, and prefer to pass it as a parameter (or at least dynamic var) when feasible.

      testing flat no deep call stacks, use pipelines

  23. Nov 2016