<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>小工具 on 测试开发刚哥</title>
    <link>https://dongfanger.github.io/tags/%E5%B0%8F%E5%B7%A5%E5%85%B7/</link>
    <description>Recent content in 小工具 on 测试开发刚哥</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sat, 03 Jan 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://dongfanger.github.io/tags/%E5%B0%8F%E5%B7%A5%E5%85%B7/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>一次全量数据对比工具发现问题的过程与思考</title>
      <link>https://dongfanger.github.io/posts/%E5%8E%9F%E5%88%9B%E9%A1%B9%E7%9B%AE/%E5%B0%8F%E5%B7%A5%E5%85%B7/000003-%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7%E4%B8%80%E6%AC%A1%E5%85%A8%E9%87%8F%E6%95%B0%E6%8D%AE%E5%AF%B9%E6%AF%94%E5%B7%A5%E5%85%B7%E5%8F%91%E7%8E%B0%E9%97%AE%E9%A2%98%E7%9A%84%E8%BF%87%E7%A8%8B%E4%B8%8E%E6%80%9D%E8%80%83/</link>
      <pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/%E5%8E%9F%E5%88%9B%E9%A1%B9%E7%9B%AE/%E5%B0%8F%E5%B7%A5%E5%85%B7/000003-%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7%E4%B8%80%E6%AC%A1%E5%85%A8%E9%87%8F%E6%95%B0%E6%8D%AE%E5%AF%B9%E6%AF%94%E5%B7%A5%E5%85%B7%E5%8F%91%E7%8E%B0%E9%97%AE%E9%A2%98%E7%9A%84%E8%BF%87%E7%A8%8B%E4%B8%8E%E6%80%9D%E8%80%83/</guid>
      <description>如果没有这次全量数据对比工具，那么也许这个历史问题会继续隐藏着，直到发生线上事故才暴露出来，毕竟人工抽样验证发现的概率只有&lt;strong&gt;5.8%&lt;/strong&gt;。</description>
    </item>
    <item>
      <title>功能测试用例自动生成算法Pairwise工具</title>
      <link>https://dongfanger.github.io/posts/%E5%8E%9F%E5%88%9B%E9%A1%B9%E7%9B%AE/%E5%B0%8F%E5%B7%A5%E5%85%B7/000002-%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E7%AE%97%E6%B3%95pairwise%E5%B7%A5%E5%85%B7/</link>
      <pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/%E5%8E%9F%E5%88%9B%E9%A1%B9%E7%9B%AE/%E5%B0%8F%E5%B7%A5%E5%85%B7/000002-%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E7%AE%97%E6%B3%95pairwise%E5%B7%A5%E5%85%B7/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;本书作者：测试开发刚哥，文章版权归个人所有，未经授权请勿转载。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;pairwise算法是什么&#34;&gt;Pairwise算法是什么&lt;/h2&gt;
&lt;p&gt;对于以下测试场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;浏览器：M，O，P&lt;/li&gt;
&lt;li&gt;操作平台：W（windows），L（linux），i（ios）&lt;/li&gt;
&lt;li&gt;语言：C（chinese），E（english）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;该如何设计功能测试用例呢？&lt;/p&gt;
&lt;p&gt;根据数学统计分析，73%的缺陷（单因子是35%，双因子是38%）是由单因子或2个因子相互作用产生的。19%的缺陷是由3个因子相互作用产生的。也就是说，&lt;strong&gt;大多数的bug都是条件的两两组合造成的&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Pairwise算法是L. L. Thurstone在1927年首先提出来的，他是美国的一位心理统计学家。Pairwise算法基于两两组合，过滤出性价比高的用例集。它的思路是：&lt;strong&gt;如果某一组用例的两两组合结果，在其他组合中均出现，就删除该组用例，从而精简用例&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;对于上述测试场景，可以通过笛卡尔积设计18条两两组合的测试用例：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1，M W C
2，M W E
3，M L C
4，M L E
5，M I C
6，M I E
7，O W C
8，O W E
9，O L C
10，O L E
11，O I C
12，O I E
13，P W C
14，P W E
15，P L C
16，P L E
17，P I C
18，P I E
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;对于第18条用例&lt;code&gt;P I E&lt;/code&gt;来说，两两组合是&lt;code&gt;PI ，PE ，IE&lt;/code&gt;，&lt;code&gt;PI&lt;/code&gt;在17号，&lt;code&gt;PE&lt;/code&gt;在16号，&lt;code&gt;IE&lt;/code&gt;在12号出现过，所以第18条用例可以过滤掉。按照这个算法继续过滤，最终剩下9条用例：&lt;/p&gt;</description>
    </item>
    <item>
      <title>JSON转SQL小工具源码分享</title>
      <link>https://dongfanger.github.io/posts/%E5%8E%9F%E5%88%9B%E9%A1%B9%E7%9B%AE/%E5%B0%8F%E5%B7%A5%E5%85%B7/000001-json%E8%BD%ACsql%E5%B0%8F%E5%B7%A5%E5%85%B7%E6%BA%90%E7%A0%81%E5%88%86%E4%BA%AB/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://dongfanger.github.io/posts/%E5%8E%9F%E5%88%9B%E9%A1%B9%E7%9B%AE/%E5%B0%8F%E5%B7%A5%E5%85%B7/000001-json%E8%BD%ACsql%E5%B0%8F%E5%B7%A5%E5%85%B7%E6%BA%90%E7%A0%81%E5%88%86%E4%BA%AB/</guid>
      <description>将key-value的JSON数据，转换为insert的SQL语句，进而实现网页数据存储到数据库。</description>
    </item>
  </channel>
</rss>
