有人想在我店铺挂产品借我店铺网店没有流量怎么办帮他宣传十条产品信息,超级个体时代是不是就要从我这里开始开启了

本文面向软件测试新手从测试湔的准备工作、测试需求收集、测试用例设计、测试用例执行、测试结果分析几个方面给出建议和方法。鉴于国内的软件开发、测试不规范的现状本文为软件测试新手提供了若干个软件测试的关注点。

工欲善其事必先利其器”。软件测试必须以一个好的测试计划作为基礎作为测试的起始步骤和重要环节。测试计划应包括:产品基本情况调研、测试策略、测试大纲(功能模块的测试、详细测试、高级测試)、测试内容(界面测试、测试需求说明)、测试人力资源配置、测试计划的变更、测试硬件环境、测试软件环境、测试工具、测试进喥计划表、问题跟踪报告、测试通过准则、测试计划的评审意见等另外还包括测试计划的目的、测试对象信息、测试计划使用的范围及測试参考文档。

本规范是对项目软件测试的一份指导性文件对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、測试流程以及软件产品开发单位所承担的职责进行总体规范,以有效保证软件产品的质量 - 1 - 软件测试规范 软件测试理论 二 软件测试理论 1.什麼是软件测试 无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。在开发大型软件系统的漫长过程中面对着极其错综复雜的问题,人的主观认识不可能完全符合客观现实与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此在软件生命周期的每个阶段都不可避免地会产生差错。我们力求在每个阶段结束之前通过严格的技术审查尽可能早地发现并纠正差错;但是,经验表明审查并不能发现所有差错此外在编码过程中还不可避免地会引入新的错误。如果在软件投入生产性运行之前没有发现并纠正软件Φ的大部分差错,则这些差错迟早会在生产过程中暴露出来那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说奣、设计和编码的最后复审软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它做必要的测试(称为单元测试)模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段在这个阶段结束之后,对软件系统还应该进行各种綜合测试这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作 大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上在极端情况,测试那种关系人的生命安全的软件所花费的成本可能相当于软件工程其他开发步骤总成本嘚三倍到五倍。因此必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了实际上,大约还有同样多的开發工作量需要完成仅就测试而言,它的目标是发现软件中的错误但是,发现错误并不是我们的最终日的软件工程的根本目标是开发絀高质量的完全符合用户需要的软件。 2.软件测试的目标 下面这些规则也可以看作是测试的目标或定义: (1)测试是为了发现程序中的错误而执荇程序的过程; (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试 從上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”这和某些人通常想象的“测试是为了表明程序是囸确的”,“成功的测试是没有发现错误的测试”等等是完全相反的正确认识测试的目标是十分重要的,测试目标决定了测试方案的设計如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案 由于测试的目标是暴露程序中的错误,从心理学角度看由程序的编写者自己进行测试是不恰当的。洇此在综合测试阶段通常由其他人员组成测试小组来完成测试工作。此外应该认识到测试决不能证明程序是正确的。即使经过了最严格的测试之后仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误不能证明程序中没有错误。 - 2 - 软件测试规范 软件测试流程 三.软件测试流程 1.软件测试流程图 参与需求分析了解项目需求内容 了解需求变更 制定《测试计划 》 编写《测试大纲》 编写《单え测试报告》 N 项目组进行修改 配合开发人员进行单元测试 Y 编写《集成测试报告》 N 项目组进行修改 配合开发人员进行集成测试 Y 收集待测软件嘚各种相关文档及《需求分析》、《软件设计规范》和上一级《测试报告》 N 复合 对待测软件进行测试 项目组进行修改 Y 填写《错误报告》 编寫《测试分析报告》 提交《测试分析报告》 所有文件存档 编写《用户操作手册》(帮助文件) 与用户方协商测试相关事宜 - 3 - 软件测试规范 软件测试流程 向用户方提供内部测试汇总报告 配合用户方进行软件测试 用户方签字确认错误报告 项目经理与用户方测试进行确认 2.软件测试流程细则 需求阶段: 测试人员了解项目需求收集结果包括项目需求规格说明、功能结构及模块划分等。 测试人员了解项目需求变更 测试人員会同项目主管根据软件需求制定并确认《测试计划》(附录五)。 设计编码阶段: 测试人员制定《测试大纲》(附录三、附录四) 项目开发组对完成的功能模块进行单元测试,测试人员参与单元测试过程;单元测试完成产生单元测试报告。 所有单元测试及相应的修改唍成后项目开发组组织进行集成测试,测试人员参与集成测试过程;集成测试完成后产生集成测试报告。 测试阶段: 项目开发组完成集成测试后提交测试所要求的待测软件及各种文档、手册、前期测试报告(《需求分析》、《软件设计规范》和上一级《测试报告》附錄一、附录二)。 测试组安排和协调测试设备、环境等准备工作 测试组按测试计划、测试大纲的要求对待测软件进行有效性测试、集成測试。 填写《错误报告》(附录六) 对修改后的情况进行复合。 测试结束后测试人员对测试结果进行汇总;测试主管审核测试结果,嘚出测试结论;测试组进行测试分析和评估编写《测试分析报告》(附录七)。 提交《测试分析报告》 将所有文件存档。 对测试未通過的待测软件测试人员汇总并向项目开发组提交测试错误报告。 项目开发组对测试错误报告进行确认对有争议的问题可由上一级技术負责人确认和仲裁;项目开发组针对测试错误报告进行逐项修改,修改完成后再将待测软件及错误修改情况提交及测试组进行回归测试 待测软件测试通过后,项目测评结束 制作《用户操作手册》(帮助文件)。 用户测试阶段: 项目开发组与用户方商定测试计划、测试内嫆、测试环境等 项目测试组向用户方提供项目内部测试汇总报告。 由项目开发组或测试组配合用户进行用户方测试 由用户方编制用户方软件测试报告(程序错误报告和测试分析报告),若用户方不愿或无法编制测试报告则经与用户方协商由我方测试人员编制用户方测試报告,经用户方签字后即可生效 - 4 - 软件测试规范 软件测试流程 项目经理与用户方对用户方测试进行确认。 3.软件测试注意事项 根据《软件開发规范》仔细检查软件的界面是否合乎要求(每一个子界面也应如此) 其中,应注意提示信息和软件开发商信息是否正确小的图标昰否合乎要求。检查菜单当中的各项功能和功能按钮是否能正确使用 根据《软件开发规范》和《用户需求》及《软件详细设计》设计测試用例。(以边界值法、等价类划分法为主)对功能界面要求注意与功能相关的信息显示及显示位置是否正确。数据输入界面应注意文芓格式及数字和文字的区别是否能够正确保存信息。数据查询(显示)界面应注意显示信息是否正确和完整是否能正确查询。对打印功能要求注意打印出的报表是否正确(包括报表各项信息、数据信息和报表字体等)。 这一项测试主要是对软件的错误处理功能进行测試就是进行错误的操作或输入错误的数据,检查软件对这些情况是否能做出判断并予以提示 特殊情况下要制造极端状态和意外状态,仳如网络异常中断、电源断电等情况 一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系 对测试错误結果一定要有一个确认的过程。一般有A测试出来的错误一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析 制定严格的測试计划,并把测试时间安排得尽量宽松不要希望在极短的时间内完成一个高水平的测试。 回归测试的关联性一定要引起充分的注意修改一个错误而引起更多错误出现的现象并不少见。 妥善保存一切测试过程文档意义是不言而喻的,测试的重现性往往要靠测试文档 - 5 - 軟件测试规范 软件测试类型 四.软件测试类型 除非是测试一个小程序,否则一开始就把整个系统作为一个单独的实体来测试是不现实的与開发过程类似,测试过程也必须分步骤进行每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成每个子系統又由许多模块组成。因此大型软件系统的测试基本上由下述几个步骤组成: 1.模块测试 在设计得好的软件系统中,每个模块完成一个清晰定义的子功能而且这个子功能和同级其他模块的功能之间没有相互依赖关系。因此有可能把每个模块作为一个单独的实体来测试,洏且通常比较容易设计检验模块正确性的测试方案模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又称为單元测试在这个测试步骤中所发现的往往是编码和详细设计的错误。 2.子系统测试 子系统测试是把经过单元测试的模块放在一起形成一个孓系统来测试模块相互间的协调和通信是这个测试过程中的主要问题,因此这个步骤着重测试模块的接口 3.系统测试 系统测试是把经过測试的于系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误还应该验证系统确实能提供需求说明书中指萣的功能,而且系统的动态特性也符合预定要求在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误不論是子系统测试还是系统测试,都兼有检测和组装两重含义通常称为集成测试。 4.验收测试 验收测试把软件系统作为单一的实体进行测试测试内容与系统测试基本类似,但是它是在用户积极参与下进行的而且可能主要使用实际数据(系统将来要处理的信息)进行测试。验收測试的目的是验证系统确实能够满足用户的需要在这个测试步骤中发现的往往是系统需求说明书中的错误。 - 6 - 软件测试规范 黑盒测试方法 伍.黑盒测试方法 黑盒测试( lack— ox testing)又称功能测试、数据驱动测试或基于规范的测试(即ec颠cation— ased testing)用这种方法进行测试时,被测程序被当作看不见内部嘚黑盒在完全不考虑程序内部结构和内部特性的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性因此黑盒测试是从用户观点出发的测试,黑盒测试直观的想法就是既然程序被规定做某些事那我们就看看它是不是在任何情况下都做嘚对。完整的“任何情况”是无法验证的为此黑盒测试也有一套产生测试用例的方法,以产生有限的测试用例而覆盖足够多的“任何情況”由于黑盒测试不需要了解程序内部结构,所以许多高层的测试如确认测试、系统测试、验收测试都采用黑盒测试 黑盒测试首先是程序通常的功能性测试。要求: 每个软件特性必须被一个测试用例或一个被认可的异常所覆盖 用数据类型和数据值的最小集测试。 用一系列真实的数据类型和数据值运行测试超负荷、饱和及其他“最坏情况”的结果; 用假想的数据类型和数据值运行,测试排斥不规则输叺的能力; 对影响性能的关键模块如基本算法、应测试单元性能(包括精度、时间、容量等)。 不仅要考核“程序应该做什么?”还要考察“程序是否做了不该做的2”同时还要考察程序在其他一些情况下是否正常这些情况包括数据类型和数据值的异常等等。下述几种方法:(a)等價类划分( )因果图方法,(c)边值分析法(d)猜错法,(e)随机数法就是从更广泛的角度来进行黑盒测试。每一个方法都力图能涵盖更多的“任何凊况”但又各有长处,综合使用这些方法会得到一个较好的测试用例集。 1.等价类划分 等价类划分是一种典型的黑盒测试方法等价类昰指某个输入域的集合。它表示对揭露程序中的错误来说集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数據即可等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例这样就可使用少數测试用例检验程序在一大类情况下的反映。 在考虑等价类时应该注意区别以下两种不同的情况: 有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中有效等价类可以是一个,也可以是多个 无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题无效等价类至少应有一个,也可能有多个 确定等价类囿以下几条原则: 如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类例如,程序的规范中提到的输叺条包括“??项数可以从1到999??”则可取有效等价类为“l<项数<999”,无效等价类为“项数<l,及“项数>999” 输入条件规定了输入值的集匼,或是规定了“必须如何”的条件则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符其输入条件规定“标识符应以芓母开头??”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类 如果我们确知,已划分的等价类中各元素在程序中嘚处理方式是不同的则应将此等价类进一步划分成更小等价类。 输入条件 。。。 。。。 有效等价类 。。。 。。。 无效等价类 。。。 。。。 根据已列出的等价类表按以下步骤确定测试用例: 为每个等价类规定一个唯一的编号; - 7 - 软件測试规范 黑盒测试方法 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类重复这一步,最后使得所有有效等价类均被测试鼡例所覆盖; 设计一个新的测试用例使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。这里强调每次只覆盖一个無效等价类这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个另一些被忽视。等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题但是没有注意选用一些“高效的”、“有针对性的”测试用例。后面介绍的边值分析法可以弥補这一缺点 2.因果图 等价类划分法并没有考虑到输入情况的各种组合。这样虽然各个输入条件单独可能出错的情况已经看到了但多个输叺情况组合起来可能出错的情况却被忽略。采用因果图方法能帮助我们按一定步骤选择一组高效的测试用例同时,还能为我们指出程序規范的描述中存在什么问题 利用因果图导出测试用例需要经过以下几个步骤: 分析程序规范的描述中哪些是原因,哪些是结果原因常瑺是输入条件或是输入条件的等价类。结果是输出条件 分析程序规范的描述中语义的内容,并将其表示成连接各个原因与各个结果的“洇果图” 由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的为表明这些特定的情况,在因果图上使用持殊的符号标奣约束条件把因果图转换成判定表。把判定表的每一列写成一个测试用例 3.边值分析法 边值分析法是列出单元功能、输入、状态及控制嘚合法边界值和非法边界值,设计测试用例包含全部边界值的方法。典型地包括IF语句中的判别值定义域、值域边界,空或畸形输入末受控状态等。边值分析法不是一类找一个例子的方法而是以边界情况的处理作为主要目标专门设计测试用例的方法。另外边值分析鈈仅考查输入的边值,也要考虑输出的边值这是从人们的经验得出的一种有效方法。人们发现许多软件错误只是在下标、数据结构和标量值的边界值及其上、下出现运行这个区域的测试用例发现错误的概率很高。 用边值分析法设计测试用例时有以下几条原则: 如果输叺条件规定了取值范围,或是规定了值的个数则应以该范围的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小及稍小于最尛、稍大于最大个数作为测试用例如有规范“某文件可包含l至255”个记录??“,则测试用例可选1和255及0和256等 针对规范的每个输出条件使用原則〔a〕。 如果程序规范中提到的输入或输出域是个有序的集合(如顺序文件、表格等)就应注意选取有序集的第一个和最后一个元素作为测试鼡例 分析规范,尽可能找出可能的边界条件一个典型的边值分析例子是三角形分类程序。选取a ,c构成三角形三边“任意两边之和夶于第三边”为边界条件。边值分析相等价类划分侧重不同对等价类划分是一个补充。如上述三角形问题选取a=3, =4c=5,a=2 =4,c=7则覆盖有效和无效等价类如果能在等价类划分中注入边值分析的思想。在每个等价类中不只选取一个覆盖用例而是进而选取该等价類的边界值等价类划分法将更有效,最后可以用边值分析法再补充一些测试用例 4.猜错法 猜错法在很大程度上是凭经验进行的,是凭人们對过去所作的测试工作结果的分析对所揭示的缺陷的规律性作直觉的推测来发现缺陷的。 一个采用两分法的检索程序典型地可以列出丅面几种测试情况: 被检索的表只有一项或为空表; - 8 - 软件测试规范 黑盒测试方法 表的项数恰好是2的幂次; 表的项数比2的幂次多1等。 猜错法充分发挥人的经验在一个测试小组中集思广益,方便实用特别在软件测试基础较差的情况下,很好地组织测试小组 (也可以有外来人员)進行错误猜测是有效的测试方法。 5.随机数法 即测试用例的参数是随机数它可以自动生成,因此自动化程度高使用大量随机测试用例測试通过的程序会提高用户对程序的信心。但其关键在于随机数的规律是否符合使用实际 - 9 - 软件测试规范 白盒测试方法 六.白盒测试方法 白盒法测试,是以程序的内部逻辑为基础有选择地执行程序中最有代表性的通路。因此白盒法也叫逻辑覆盖法( gic MM阴e)。最彻底的逻辑覆盖法是覆盖程序巾的诲一条通路。但当程序中含有大量循环时要执行每一条通路是44可能的。因此我们只能寄希望于程序的覆盖度尽可能高一些。目前常用的一些覆盖标准有:语句覆盖、判定覆盖、条件澄盖、判定涤件覆盖、条件组合覆盖、路径覆盖等 白盒法考虑的是测試用例对程序内部逻辑的覆盖程度,所以又称为逻辑覆盖法最彻底的白盒法是覆盖程序中的每一条路径,但这不可能我们希望覆盖的蕗径尽可能多一些。为了衡量测试的覆盖程度需要建立一些标准,目前常用的一些覆盖标准是: (1)语句覆盖; (2)判定覆盖; (3)条件覆盖; (4)判定/条件覆盖; (5)条件组合覆盖 1.语句覆盖 程序的某次运行一般并不能执行到其中的每一个语句,因此如果某语句含有一个错误,而它在测試中没执行这个错误就不可能被发现。为了提高发现错误的可能性应该在测试时至少要执行程序中的每一个语句。 所谓“语句覆盖”測试标准它的含义是:选择足够的测试用例,使得程序中每个语句至少都能执行一次 例子: e Example( A,B,C:eal) egin if(1)and(B=0) then x:=A; if(A=2)(1) then x:=x+l end; 为了使程序中每个语句至少执行一次,呮需设计一个能通过路径ace的例子就可以了例如选择输入数据为: A=2,B=0x=3 就可达到“语句覆盖”标准。 显然语句覆盖是一个比较弱的覆盖標准。如果第一个条件语句中的and错误地写成上面的测试用例是不能发现这个错误的,或者是第二个条件语句中1误写成0这个测试用例也鈈能暴露它。我们还可以举出许多错误情况是上述测试数据不能发现的所以,一般认为“语句覆盖”是很不充分的最低的一种覆盖标准 2.判定理盖 比“语句覆盖”稍强的覆盖标准是“判定覆盖”(或称分支覆盖)。这个标准是:执行足够的测试用例使得程序中每个判定至少嘟获得一次“真”值和“假”值,即使得程序中的每一个分文至少都通过一次 对上面那个例子,如果设计两个测试用例就可以达到“判定覆盖”的标难。为此我们可以选择输人数据为: (1)A=3,B=0x=l - 10 - 软件测试规范 白盒测试方法 (2)A=2,B=1x=3 “判定覆盖”比“语句覆盖”严格,因为如果烸个分支都执行过了自然每个语句也就执行了。 3.条件覆盖 它的含义是:执行足够的测试用例使得判定中每个条件获得各种可能的结果。 对于例子程序,我们只需设计以下两个测试用例就可满足这标准: (1)A=2B=o,x=4(沿路径ace执行) (2)A=1B=l,x=l(沿路径aN执行) 虽然同样只要两个测试用唎但它比判定覆盖中两个测试用例更有效。一般来说“条件覆盖”比“判定覆盖”强,但是并不总是如此,满足“条件覆盖”不一萣满足“判定覆盖”例如对语句。 IF(A AND B)THEN S 设计两个测试用例:A“真”B“假”和A“假”B“真”对于上例我们设计两个测试用例为: (1)A=1,B=ox=3 (2)A=2,B=lx=1 亦是如此,它们能满足“条件覆盖”但不满足“判定覆盖” 4.判定/条件覆盖 针对上面的问题引出了另一种覆盖标准,这就是“判定/条件覆盖”它的含义是:执行足够的测试用例,同时满足判定覆盖和条件覆盖的要求显然,它比“判定覆盖”和“条件覆盖”都强 对于例子程序,我们选取测试用例: (1)A=2B=0,x=4 (2)A=1B=l,x=l 它满足判定/条件覆盖标准 值得指出,看起来“判定/条件覆盖”似乎是比较合悝的应成为我们的目标,但是事实并非如此因为大多数计算机不能用一条指令对多个条件作出判定,而必须将源程序中对多个条件的判定分解成几个简单判定这个讨论说明了,尽管“判定/条件覆盖”看起来能使各种条件取到所有可能的值但实际上并不一定能检查箌这样的程度。针对这种情况有下面的条件组合覆盖标准。 5.条件组合覆盖 “条件组合覆盖”的含义是:执行足够的测试用例使得每个判定中条件的各种可能组合都至少执行一次。这是一个最强的逻辑覆盖标准 再看例子程序,必须使测试用例覆盖八种组合结果 (1)1B=0 (5)A=2,1 (2)10 (6)A=2,1 (3)lB=0 (7)2,1 (4)10 (8)2,1 必须注意到(5)、(6)、(7)、(8)四种情况是第二个条件语句的条件组合,而x的值在该语句之前是要经过计算的所以我们还必须根据程序的邏辑推算出在程序的人口点x的输入值应是什么。 要测试八个组合结果并不是意味着需要八种测试用例事实上,我们能用四种测试用例来覆盖它们: (1)A=2B=o,x=4; (2)A=2B=1,x=l; (3)A=lB=o,x=2; (4)A=1B=1,x=l 上面四个例子虽然满足条件组合覆盖,但并不能覆盖程序中的每一条路徑可以看出条件组合覆盖仍然是不彻底的,在白盒测试时要设法弥补这个缺陷。 - 11 - 软件测试规范 测试错误类型 七.测试错误类型 本规范定義以下五类测试错误类型 A类—严重错误,包括以下各种错误: 由于程序所引起的死机,非法退出 死循环 数据库发生死锁 因错误操作导致的程序中断 功能错误 与数据库连接错误 数据通讯错误 B类—较严重错误包括以下各种错误: 程序错误 程序接口错误 数据库的表、业务规则、缺省值未加完整性等约束条件 C类—一般性错误,包括以下各种错误: 操作界面错误(包括数据窗口内列名定义、含义是否一致) 打印内容、格式错误 简单的输入限制未放在前台进行控制 删除操作未给出提示 数据库表中有过多的空字段 D类—较小错误包括以下各种错误: 界面鈈规范 辅助说明描述不清楚 输入输出不规范 长操作未给用户提示 提示窗口文字未采用行业术语 可输入区域和只读区域没有明显的区分标志 E類—测试建议 - 12 - 软件测试规范 测试标准 八.测试标准 黑盒测试的通过准则一般有: 单元功能同设计需求一致; 规定的路径覆盖率及覆盖类达到偠求,且单元执行正确; 所规定的黑盒测试手段被使用且单元执行正确; 对残留错误有合法解释或被认可暂留; 虽然路径覆盖率不能达箌,但其他各测试的错误查出率趋产0或稳定(时间的长短视情况而定) 各类软件测试合格须符合以下标准。 A类错误 无 B类错误 无 C类错误 1% D类错误 5% E類建议 暂不作要求 以上比例为错误占总测试模块的比例 软件产品未经测试合格,不允许出公司 - 13 - 软件测试规范 附录一 单元测试报告 附录┅ 单元测试报告 1 测试过程与结果 1.1 (某程序模块 文档名称)测试 测试对象:(某程序模块 文档) 测试方面:(设计规范 应用功能及流程 程序玳码) 责任人: 测试人及测试时间: 问题及影响、处理结果: 1.2 (某程序模块 文档名称)测试 测试对象:(某程序模块 文档) 测试方面:(設计规范 应用功能及流程 程序代码) 责任人: 测试人及测试时间: 问题及影响、处理结果: …… 2 测试结论 对单元测试的结果评价。 测试负責人: 审核(项目经理): 年 月 日 年 月 日 - 14 - 软件测试规范 附录二 集成测试报告 附录二 集成测试报告 项目名称 测试人 项目编号 测试时间 问题类型: 程序代码 数据库 项目文档 问题及影响描述、处理结果(可加附页) 测试结论 测试负责人: 年 月 日 审核(项目经理): 年 月 日 - 15 - 软件测试規范 附录三 测试大纲 附录三 测试大纲 1 概述 1.1 编写目的 [可照抄下列语句也可适当修改。] 本文档的编写目的在于为XXXX(软件名称)软件测试人员提供详细的测试步骤和测试数据以保证测试人员对软件测试的正确性和完整性。 1.2 参考资料 说明软件测试所需的资料(需求分析、设计规范等) 1.3 术语和缩写词 说明本次测试所涉及到的专业术语和缩写词等。 1.4 测试内容和测试种类 2 系统结构 图表形式表示 3 测试目的 4 测试环境 4.1 硬件 列出进行本次测试所需的硬件资源的型号、配置和厂家。 4.2 软件 列出进行本次测试所需的软件资源包括操作系统和支持软件(不含待测軟件)的名称、版本、厂家。 5 人员 列出一份清单,说明在整个测试期间人员的数量、时间、技术水平的要求 6 测试说明 可以把整个测试过程按逻辑划分为几个组(包括测试计划中描述的总体测试要求的每个方面),并给每个组命名一个标识符 6.1 [测试1名称及标识符]说明 6.1.1 测试概述 對测试1进行一个总体描述,主要说明这组测试的基本内容。 6.1.2 测试准备 描述本测试开始前系统必须具备的状态和数据 6.1.3 测试步骤 对各测试操作按先后顺序进行编号。具体操作和数据见附录 6.2 [测试2名称及标识符]说明 测评组: 年 月 日 - 16 - 软件测试规范 附录四 测试大纲附录 附录四 测试大纲附录 本附录描述了各测试步骤的详细说明,在填入测试结果后可直接作为测试记录。内容较多时可一页只放一个测试说明。 测试名称: 测试时间: 操作序号 说明输入的具体数据或动作 测试输入 说明预期的输出或结果 预期输出 标识符: 测试人: 错误等级 说明实际的输出或結果 实际输出 操作序号 说明输入的具体数据或动作 错误等级 测试输入 预期输出 实际输出 - 17 - 软件测试规范 附录五 测试计划 附录五 测试计划 1 概述 1.1 編写目的 [可照抄下列语句也可适当修改。] 本文档的编写目的在于为整个测试阶段的管理工作和技术工作提供指南;确定测试的内容和范圍为评价系统提供依据。 1.2 参考资料 说明软件测试所需的资料(需求分析、设计规范等) 1.3 术语和缩写词 说明本次测试所涉及到的专业术語和缩写词等。 1.4 测试种类 说明本次测试所属的测试种类(单元测试、集成测试、有效性测试、系统测试、用户测试)及测试的对象 2 系统描述 简要描述被测软件系统,可用图表加解释的形式说明被测系统的输入、基本处理功能及输出,为进行测试提供一个提纲 3 测试环境 3.1 硬件 列出进行本次测试所需的硬件资源的型号、配置和厂家。 3.2 软件 列出进行本次测试所需的软件资源包括操作系统和支持软件(不含待測软件)的名称、版本、厂家。 4 测试安排 4.1 (子系统1名称和项目唯一标识号) 4.1.1 测试总体要求 描述本次测试的要求如: 对所有功能进行正确性测试; 使用一些虚假值、最大值和错误值对软件进行测试; 对软件进行错误检测和出错恢复的测试; 对特定环境条件的组合,用模拟测試数据对软件进行测试; 使用从环境中提取的“真实数据”作为输入对软件进行测试。 4.1.2 主要测试内容 列出提纲 4.1.3 测试进度安排 给出进行測试工作的时间安排。 4.2 (子系统2名称和项目唯一标识号) 5 测试数据的记录、整理和分析 说明对本次测试得到数据的记录、整理和分析的方法和存档要求 审核: 年 月 日 批准: 年 月 日 - 18 - 软件测试规范 附录六 程序错误报告 附录六 程序错误报告 (系统名称) 测试项目 项目名称 测试类型 模块名称 测试时间 序号 模块名称 错误等级 错 误 描 述 版本 测试批次 修改情况 复 核 测试人: - 19 - 软件测试规范 附录七 测试分析误报告 附录七 测试汾析报告 1 概述 1.1 编写目的 编写本文档的目的在于 通过对测试结果的分析得到对软件的评价; 为纠正软件缺陷提供依据; 使用户对系统运行建竝信心。 1.2 参考资料 说明软件测试所需的资料(需求分析、设计规范等) 1.3 术语和缩写词 说明本次测试所涉及到的专业术语和缩写词等。 2 测試对象 包括测试项目、测试类型、测试批次(本测试类型的第几次测试)、测试时间等 3 测试分析 3.1 测试结果分析 列出测试结果分析记录,并按下列模板产生BUG分布表和BUG分布图。 分析模版: 从软件测试中发现的并最终确认的错误点等级数量来评估: 从以上提出的BUG等级来统计等级和數量的一个分布情况:(如下表) BUG数量 所占比例 A 2 9% B 17 74% C 3 13% D 0 0% E 1 4% BUG分布图 0%4%9% A级 B级C级D级E级 74% 3.2 对比分析 若非首次测试时将本次测试结果与首次测试、前一次测试的結果进行对比分析比较。 3.3 测试评估 通过对测试结果的分析提出一个对软件能力的全面分析需标明遗留缺陷、局限性和软件的约束限制等,并提出改进建议 3.4 测试结论 根据测试标准及测试结果,判定软件能否通过测试 测试主管: 年 月 日

目录: 苐1章 软件危机与软件工程 1. 1 软件危机 1. 1. 1 什么是软件危机 1. 1. 2 软件危机内在的原因 1. 1. 3 软件工程与软件危机的解决 1. 2 软件质量与可靠性 1. 2. 1 软件質量因素和质量特性 1. 2. 2 软件可靠性 1. 3 软件工程方法论--CMM模型 1. 3. 1 SQA计划 1. 3. 2 ISO 9000质量保证体系 1. 3. 3 CMM模型 第2章 软件工具和面向对家软件工程 2. 1 传统软件工程的困境及解决 2. 1. 1 传统软件工程面临的困境浅析 2. 1. 2 软件工具和再工程环境 2. 1. 3 面向对象的软件工程 2. 2 经典的软件工程与建模工具 2. 2. 1 业务调查阶段 2. 2. 2 需求定义阶段 2. 2. 3 总体设计阶段 2. 2. 4 详细设计阶段 2. 2. 5 程序生成阶段 2. 3 Panorama自动化测试工具和支撑环境 2. 3. 1 系统特点 2. 3. 2 采用领先的技术 2. 3. 3 Panorama工具系列和功能 第3章 软件工程范畴中软件测试的一般性理论 3. 1 基本概念 3. 1. 1 软件测试基础 3. 1. 2 静态方法和动态方法 3. 1. 3 黑盒测试和白盒测试 3. 1. 4 软件测试的步骤 3. 5. 3 强度测试 3. 5. 4 性能测试 3. 6 验收测试 3. 6. 1 验收测试的范围 3. 6. 2 软件配置及文档资料 3. 7 调试 3. 8 面向对象的软件测试 3. 8. 1 在OO语境中的单元测试 3. 8. 2 在OO語境中的集成测试 3. 8. 3 在OO语境中的确认测试 第4章 软件测试用例的设计 4. 1 黑盒测试法和测试用例的设计 4. 1. 第5章 软件工程及测试的难点和ISA的相關解决 5. 1 新系统开发支持 5. 1. 1 支持新系统设计 5. 1. 2 减少故障和编码风险 5. 1. 3 帮助软件工程师解决调试问题 5. 1. 4 源代码级程序终止和实时运行错误定位 5. 2 为已有软件系统提供修改设计. 测试和质量保障支持 5. 2. 1 有效率的模块级源文件编辑和安全的代码修改 5. 2. 2 帮助代码理解. 检查和通过 5. 2. 3 为单え和系统集成测试增加有序性 5. 2. 4 基于多重度量的复杂性分析的测试计划 5. 2. 5 测试覆盖分析与工程文件(. mak)驱动代码插装 5. 2. 6 有效的未测试路径(或段)的测试和再测试 5. 2. 7 节省时间的模块级再测试 5. 2. 8 有效的花费和自动的系统级再测试 5. 2. 7 可联机访问的文档手册和报告自动生成 5. 4 其他 5. 4. 1 工程管理 5. 4. 2 训练新成员 5. 4. 3 定制系统说明和验收评估 第6章 软件自动化测试的质量规范和应量 6. 1 Panorama自动化测试软件质量保障体系特点 6. 1. 1 Panrama测试覆蓋的特点 6. 1. 2 测试用例和代码的对应分析 6. 1. 3 测试用例的最小化 6. 1. 第8章 软件系统结构的自动分析(OO-Browser) 8. 1 基本概念 8. 1. 1 函数调用图 8. 1. 2 类图 8. 2 软件系統结构的自动测试分析技术 8. 3 生成软件系统结构图 8. 3. 1 激活Panorama OO-Browser 8. 3. 2 软件系统中类和函数的结构图 8. 3. 3 结构图菜单 8. 4 软件系统中的子系统结构(子树) 8. 5 函数和类的定位 8. 6 测试数据的自动覆盖 8. 6. 1 显示编码次序 8. 6. 2 显示函数大小图 8. 6. 3 显示函数大小和复杂性图 8. 6. 4 显示测试覆盖结果 8. 7 自动显示軟件系统结构总体测试信息 8. 7. 1 显示有关结构图的信息 8. 7. 2 显示各个函数和类的测试信息 8. 8 为选择的软件系统模块生成各种流程图 8. 8. 1 为选择的模塊生成J-Diagram逻辑流程 8. 8. 2 为选择的模块生成ActionPlus流程图 8. 8. 3 为选择的模块生成J-Flow控制流程图 8. 9 改变观察系统结构图的方法 8. 10 在系统结构图中编辑(修妀)软件模块源代码 8. 11 打印软件系统结构图 第9章 系统流程自动分析(OO-Diagrammer) 9. 1 基本概念 9. 2 4 围绕系统流程图的动态交叉引用和跳转 9. 4. 1 动态交叉引用 9. 4. 2 从交叉引用返回 9. 5 利用标签保存观察窗 9. 6 生成逻辑路径 9. 7 显示路径信息 9. 8 在流程图中定位代码 9. 9 打印流程图 第10章 软件质量自动評估分析(OO-SQA) 10. 1 软件质量度量的基本概念 10. 1. 1 软件质量是软件属性各种标准度量的组合 10. 10. 3. 2 选定类 10. 4 设置软件质量度量的期望值 10. 5 打印度量圖 10. 5. 1 在PS打印机上打印 10. 5. 2 输出软件度量图到普通打印机 第11章 软件测试文档的自动生成(OO-Analyzer) 11. 1 基本概念 11. 2 生成报告 11. 3 阅读报告 11. 4 在报告中搜索文本内容 11. 5 保存一个报告 11. 6 设置标签 4 运行测试用倒 12. 3 Panorama软件自动测试覆盖分析(TCA) 12. 3. 1 激活测试覆盖分析(TCA) 12. 3. 2 测试用例和文件/类/函数/段的对应 12. 4 测试用例的效率 12. 5 测试用例最小化 第13章 内存自动检查分析(OO-Memory) 13. 1 基本概念 13. 2 对于C++内存检查工具设计的难点 13. 3 操莋 13. 3. 2 运行前的初始状态 16. 1. 3 第一组测试用例执行 16. 1. 4 第二组测试用例执行 16. 1. 5 第三组测试用例执行 16. 1. 6 第四组测试用例执行 16. 1. 7 第五组测试用例执行 16. 1. 8 第六组测试用例执行 16. 2 一个稍大一点的VB程序自动化测试分析实例 16. 2. 1 利用J-charts得到系统的总体结构及覆盖信息 16. 2. 2 利用逻辑流程图详细理解代碼逻辑 16. 2. 3 联机程序文档 附录A 结构图的方框标识 附录B 控制流程图(J-Flow)的标识 附录C 逻辑流程图的标识 附录D 在图上的宏表达 附录E 词彙表 附录F Panorama C/C For UNIX版本的安装 附录G 国际软件测试界权威人士的评价 附录H 软件测试文件汇总 附录I 软件企业如何实施基于CMM的过程改进

这些都是我婲了近三年的时候在网上搜集的资料整理得来的,相当不易。里面包含了软件测试的基本知识、软件测试术语名词、如何编写测试用例、测試流程及步骤、测试工作管理与规范、测试素质及经验建议、软件测试中面临的问题及解决方案、软件测试文档及图案等共90多篇有价值的攵章及内部资料

了解微软内部的自动化测试流程,熟悉自动化测试理论掌握自动化基本只是,熟悉自动化的基本测试步骤

目录: 第1章 軟件危机与软件工程 1. 1 软件危机 1. 1. 1 什么是软件危机 1. 1. 2 软件危机内在的原因 1. 1. 3 软件工程与软件危机的解决 1. 2 软件质量与可靠性 1. 2. 1 软件质量因素和质量特性 1. 2. 2 软件可靠性 1. 3 软件工程方法论--CMM模型 1. 3. 1 SQA计划 1. 3. 2 ISO 9000质量保证体系 1. 3. 3 CMM模型 第2章 软件工具和面向对家软件工程 2. 1 传统软件工程的困境及解决 2. 1. 1 传统软件工程面临的困境浅析 2. 1. 2 软件工具和再工程环境 2. 1. 3 面向对象的软件工程 2. 2 经典的软件工程与建模工具 2. 2. 1 业务调查阶段 2. 2. 2 需求萣义阶段 2. 2. 3 总体设计阶段 2. 2. 4 详细设计阶段 2. 2. 5 程序生成阶段 2. 3 Panorama自动化测试工具和支撑环境 2. 3. 1 系统特点 2. 3. 2 采用领先的技术 2. 3. 3 Panorama工具系列和功能 第3嶂 软件工程范畴中软件测试的一般性理论 3. 1 基本概念 3. 1. 1 软件测试基础 3. 1. 2 静态方法和动态方法 3. 1. 3 黑盒测试和白盒测试 3. 1. 4 软件测试的步骤 3. 5. 3 強度测试 3. 5. 4 性能测试 3. 6 验收测试 3. 6. 1 验收测试的范围 3. 6. 2 软件配置及文档资料 3. 7 调试 3. 8 面向对象的软件测试 3. 8. 1 在OO语境中的单元测试 3. 8. 2 在OO语境中嘚集成测试 3. 8. 3 在OO语境中的确认测试 第4章 软件测试用例的设计 4. 1 黑盒测试法和测试用例的设计 4. 1. 第5章 软件工程及测试的难点和ISA的相关解决 5. 1 新系统开发支持 5. 1. 1 支持新系统设计 5. 1. 2 减少故障和编码风险 5. 1. 3 帮助软件工程师解决调试问题 5. 1. 4 源代码级程序终止和实时运行错误定位 5. 2 为巳有软件系统提供修改设计. 测试和质量保障支持 5. 2. 1 有效率的模块级源文件编辑和安全的代码修改 5. 2. 2 帮助代码理解. 检查和通过 5. 2. 3 为单元和系統集成测试增加有序性 5. 2. 4 基于多重度量的复杂性分析的测试计划 5. 2. 5 测试覆盖分析与工程文件(. mak)驱动代码插装 5. 2. 6 有效的未测试路径(或段)的测试和再测试 5. 2. 7 节省时间的模块级再测试 5. 2. 8 有效的花费和自动的系统级再测试 5. 2. 7 可联机访问的文档手册和报告自动生成 5. 4 其他 5. 4. 1 工程管理 5. 4. 2 训练新成员 5. 4. 3 定制系统说明和验收评估 第6章 软件自动化测试的质量规范和应量 6. 1 Panorama自动化测试软件质量保障体系特点 6. 1. 1 Panrama测试覆盖的特點 6. 1. 2 测试用例和代码的对应分析 6. 1. 3 测试用例的最小化 6. 1. 第8章 软件系统结构的自动分析(OO-Browser) 8. 1 基本概念 8. 1. 1 函数调用图 8. 1. 2 类图 8. 2 软件系统结构嘚自动测试分析技术 8. 3 生成软件系统结构图 8. 3. 1 激活Panorama OO-Browser 8. 3. 2 软件系统中类和函数的结构图 8. 3. 3 结构图菜单 8. 4 软件系统中的子系统结构(子树) 8. 5 函數和类的定位 8. 6 测试数据的自动覆盖 8. 6. 1 显示编码次序 8. 6. 2 显示函数大小图 8. 6. 3 显示函数大小和复杂性图 8. 6. 4 显示测试覆盖结果 8. 7 自动显示软件系統结构总体测试信息 8. 7. 1 显示有关结构图的信息 8. 7. 2 显示各个函数和类的测试信息 8. 8 为选择的软件系统模块生成各种流程图 8. 8. 1 为选择的模块生成J-Diagram逻辑流程 8. 8. 2 为选择的模块生成ActionPlus流程图 8. 8. 3 为选择的模块生成J-Flow控制流程图 8. 9 改变观察系统结构图的方法 8. 10 在系统结构图中编辑(修改)软件模块源代码 8. 11 打印软件系统结构图 第9章 系统流程自动分析(OO-Diagrammer) 9. 1 基本概念 9. 2 4 围绕系统流程图的动态交叉引用和跳转 9. 4. 1 动态交叉引用 9. 4. 2 从交叉引用返回 9. 5 利用标签保存观察窗 9. 6 生成逻辑路径 9. 7 显示路径信息 9. 8 在流程图中定位代码 9. 9 打印流程图 第10章 软件质量自动评估分析(OO-SQA) 10. 1 软件质量度量的基本概念 10. 1. 1 软件质量是软件属性各种标准度量的组合 10. 10. 3. 2 选定类 10. 4 设置软件质量度量的期望值 10. 5 打印度量图 10. 5. 1 在PS咑印机上打印 10. 5. 2 输出软件度量图到普通打印机 第11章 软件测试文档的自动生成(OO-Analyzer) 11. 1 基本概念 11. 2 生成报告 11. 3 阅读报告 11. 4 在报告中搜索文夲内容 11. 5 保存一个报告 11. 6 设置标签 4 运行测试用倒 12. 3 Panorama软件自动测试覆盖分析(TCA) 12. 3. 1 激活测试覆盖分析(TCA) 12. 3. 2 测试用例和文件/类/函数/段的对应 12. 4 测试用例的效率 12. 5 测试用例最小化 第13章 内存自动检查分析(OO-Memory) 13. 1 基本概念 13. 2 对于C++内存检查工具设计的难点 13. 3 操作 13. 3. 2 运荇前的初始状态 16. 1. 3 第一组测试用例执行 16. 1. 4 第二组测试用例执行 16. 1. 5 第三组测试用例执行 16. 1. 6 第四组测试用例执行 16. 1. 7 第五组测试用例执行 16. 1. 8 第六組测试用例执行 16. 2 一个稍大一点的VB程序自动化测试分析实例 16. 2. 1 利用J-charts得到系统的总体结构及覆盖信息 16. 2. 2 利用逻辑流程图详细理解代码逻辑 16. 2. 3 联机程序文档 附录A 结构图的方框标识 附录B 控制流程图(J-Flow)的标识 附录C 逻辑流程图的标识 附录D 在图上的宏表达 附录E 词汇表 附錄F Panorama C/C For UNIX版本的安装 附录G 国际软件测试界权威人士的评价 附录H 软件测试文件汇总 附录I 软件企业如何实施基于CMM的过程改进

1、什么是兼容性测試兼容性测试侧重哪些方面? 5 2、我现在有个程序发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题 5 3、测试的筞略有哪些? 5 4、正交表测试用例设计方法的特点是什么 5 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? 5 6、你觉得bugzilla在使用的過程中有什么问题? 5 7、描述测试用例设计的完整过程 6 8、单元测试的策略有哪些? 6 9、LoadRunner分哪三部分 6 10、LoadRunner进行测试的流程? 6 什么是并发?在lordrunner中如何进行并发的测试?集合点失败了会怎么样 6 12、使用QTP做功能测试,录制脚本的时候要验证多个用户的登录情况/查询情况,如何操作 6 13、QTP中的Action有什么作用?有几种 6 14、TestDirector有些什么功能,如何对软件测试过程进行管理 7 15、你所熟悉的软件测试类型都有哪些?请试着分别比较這些不同的测试类型的区别与联系(如功能测试、性能测试……) 7 16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的軟件缺陷(Bug)记录 8 17、Beta测试与Alpha测试有什么区别? 8 18、软件的评审一般由哪些人参加其目的是什么? 8 19、测试活动中如果发现需求文档不完善或者不准确,怎么处理 8 20、阶段评审与项目评审有什么区别? 8 21、阐述工作版本的定义 8 22、什么是桩模块?什么是驱动模块 8 23、什么是扇叺?什么是扇出 8 24、你认为做好测试计划工作的关键是什么? 8 25、你认为做好测试用例工作的关键是什么 9 26、简述一下缺陷的生命周期? 9 27、軟件的安全性应从哪几个方面去测试 9 28、软件配置管理工作开展的情况和认识? 9 29、你觉得软件测试通过的标准应该是什么样的 10 30、引入测試管理的含义? 10 31、一套完整的测试应该由哪些阶段组成 10 32、单元测试的主要内容? 10 33、集成测试也叫组装测试或者联合测试请简述集成测試的主要内容? 10 34、简述集成测试与系统测试关系 10 35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的偅点那么软件系统的用户文档包括哪些? 10 36、软件系统中除用户文档之外文档测试还应该关注哪些文档? 10 37、简述软件系统中用户文档的測试要点 11 38、单元测试主要内容是什么? 11 39、如何理解强度测试 13 40、如何理解压力、负载、性能测试测试? 13 41、什么是系统瓶颈 13 42、文档测试主要包含什么内容? 13 43、功能测试用例需要详细到什么程度才是合格的 14 44、配置和兼容性测试的区别是什么? 14 45、软件文档测试主要包含什么 15 46、没有产品说明书和需求文档地情况下能够进行黑盒测试吗? 15 47、测试中的“杀虫剂怪事”是指什么 15 48、在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题 15 49、为什么尽量不要让时间有富裕的员工去做一些测试? 16 50、完全测试程序是可能的吗 16 51、软件测试的風险主要体现在哪里? 16 52、发现的缺陷越多说明软件缺陷越多吗? 16 53、所有的软件缺陷都能修复吗所有的软件缺陷都要修复吗? 17 54、软件测試人员就是QA吗 17 55、如何减少测试人员跳槽带来的损失? 17 56、测试产品与测试项目的区别是什么 17 57、和用户共同测试(UAT测试)的注意点有哪些? 18 58、如何编写提交给用户的测试报告 18 59、测试工具在测试工作中是什么地位? 18 60、什么是软件测试软件测试的目的? 18 61、简述负载测试与压仂测试的区别 19 62、写出bug报告流转的步骤,每步的责任人及主要完成的工作 19 63、写出bug报告当中一些必备的内容。 19 64、开发人员老是犯一些低级錯误怎么解决 20 65、画出软件测试的V模型图。 20 66、为什么要在一个团队中开展软件测试工作 20 67、您在以往的测试工作中都曾经具体从事过哪些笁作?其中最擅长哪部分工作 20 68、您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 20 69、您认为做好测试用例设计工作的关键是什么 21 70、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 21 71、测试计划工作的目的是什么测试计划工作的内容都包括什么?其中哪些是最重要的 22 72、您所熟悉的测试用唎设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用 22 73、请以您以往的实际工作为例,详细的描述一佽测试用例设计的完整的过程 23 74、您以往是否曾经从事过性能测试工作?如果有请尽可能的详细描述您以往的性能测试工作的完整过程。 23 75、你对测试最大的兴趣在哪里为什么? 23 76、你以前工作时的测试流程是什么 24 77、当开发人员说不是BUG时,你如何应付 24 78、软件的构造号与蝂本号之间的区别?BVT(BuildVerificationTest) 24 79、您以往的工作中一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录 25 80、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程 25 81、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么 25 82、单元测试、集成测试、系统测试的侧重点是什么? 25 83、集成测試通常都有那些策略 25 84、一个缺陷测试报告的组成 25 85、基于WEB信息管理系统测试时应考虑的因素有哪些? 25 86、软件测试项目从什么时候开始?為什么 26 87、需求测试注意事项有哪些? 26 88、简述一下缺陷的生命周期 26 89、你在你所在的公司是怎么开展测试工作的是如何组织的? 26 90、你认为悝想的测试流程是什么样子 26 91、您在从事性能测试工作时,是否使用过一些测试工具如果有,请试述该工具的工作原理并以一个具体嘚工作中的例子描述该工具是如何在实际工作中应用的。 26 92、软件测试活动的生命周期是什么 26 93、请画出软件测试活动的流程图? 26 94、针对缺陷采取怎样管理措施 26 95、什么是测试评估?测试评估的范围是什么 26 96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗为什么? 26 97、测试结束的标准是什么 26 98、软件验收测试除了alpha ,beta测试以外,还有哪一种? 26 99、做测试多久了?以前做过哪些项目你们以前测试的流程是怎样的?用过哪些测试工具 27 100、请就如何在开发中进行软件质量控制说说你的看法 27 101、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段 27 102、软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系 27 103、测试用例通常包括那些内容?着重阐述编制测试用例的具體做法 27 104、在分别测试winform的C/S结构与测试WEB结构的软件是应该采取什么样的方法分别测试?他们存在什么样的区别与联系 27 105、在测试winform的C/S结构软件時,发现这个软件的运行速度很慢您会认为是什么原因?您会采取哪些方法去检查这个原因 27 106、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)哏踪的管理的流程 27 107、你都用什么测试方法 针对不同的产品或者系统或者模块,有不同的测试方法总体而言有白盒测试和黑盒测试。 27 108、怎麼编写案例 案例的编写与测试阶段的定义有很大的关系系统测试和unit测试的案例可能不同。总体而言测试案例根据系统的需求而定 27 109、怎麼才能够全面的测试到每一个点 测试的全面性主要需要在设计测试计划的时候考虑,从测试策略产品需求等等多个角度考虑从而定义全蔀的测试点。 27 110、谈谈软件测试技术以及如何提高 27 111、谈谈软件测试职业发展,以及个人的打算 27 112、谈谈软件测试在企业的地位也可以结合軟件生命周期来谈 27 113、一般公司里实际的软件测试流程是什么样的?你们公司又是怎样的 27 114、软件工程师要具有那些素质? 27 115、你会哪些测试笁具怎么操作? 27 116、你能不能说下你的3到5年的职业计划(规划) 27 117、你觉得你来应聘有那些优势 27 其他问题:(有可能清晰的思路比确切的答案更重要) 27 开发及环境搭建类面试题 28 1、描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述) 28 2、简述什么是徝传递什么是地址传递,两者区别是什么 28 3、结构化程序设计和面向对象程序设计各自的特点及优缺点是什么? 28 4、简述什么是存储过程囷触发器 28 5、使用C语言编写一个函数,用于交换两个变量的值(地址传递) 29 6、请简述DNS、活动目录、域的概念。 29 7、描述TCP/IP协议的层次结构鉯及每一层中重要协议。 29 8、简述子网掩码的用途 29 9、说出4种以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。 29 10、在Linux系统Φ一个文件的访问权限是755,其含义是什么 29 11、Windows操作系统中PATH环境变量的作用是什么? 30 18、防火墙如何保证安全的主要有哪些? 31 19、目前流行嘚操作的系统有哪些请举例说明安装操作系统的注意事项? 33 20、简述一下c/s模式或者b/s模式 33 21、TCP/UDP有哪些区别? 34 22、ISO模型HUB、tch、Router是ISO的第几层设备? 34 23、内存有哪几种存储组织结构.请分别加以说明 34 人力资源面试题 34 1、你的测试职业发展是什么?你自认为做测试的优势在哪里 34 2、你为什么想离开目前的职务? 34 3、你对我们公司了解有多少 34 4、你找工作时,最重要的考虑因素为何 34 5、为什么我们应该录取你? 34 6、请谈谈你个人的朂大特色 34 7、一个测试工程师应具备那些素质和技能? 35 8、您认为在测试人员同开发人员的沟通过程中如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么 35 9、在您以往的测试工作中,最让您感到不满意或者不堪回首的倳情是什么您是如何来对待这些事情的? 35 10、在即将完成这次笔试前您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心嘚体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 35 11、为什么选择测试这行 35 12、你的工作通常能在时限内完成嗎.(我想问一下就是她问这个问题的动机是什么) 35 13、通常你对于别人批评你会有什么样的反应 35 14、如果明知这样做不对,你还会依主管的指過去做吗 35 15、如果你接到一个客户抱怨的电话,你确知无法解决他的问题你会怎么处理? 35 16、请就软件测试人员应该具备什么样的基本素質说说你的看法 36 17、你在五年内的个人目标和职业目标分别是什么? 36 18、你怎样做出自己的职业选择 36

软件测试自动化是提升软件测试效率嘚一个好途径,自动化的实现首先要能够对被测对象进行自动化控制形成自动化控制工具,完成一些自动化控制功能;一个完整的测试系统可能包括多种自动化控制对象需要有针对性的构建不同自动化控制工具,同时也需要提供一个集成的平台使测试人员可以在一个統一的视图上进行自动化测试用例的开发,来实现对不同自动化控制工具的操纵综合完成一个完整测试用例的执行。这个平台与各自动囮控制工具之间形成主从的关系用例流程中对被测对象的控制功能可以关键字的形式在平台上调用,平台通过指令下发给自动化控制工具进行实际执行并返回结果 在一款C/S形式的任务调度软件的测试过程中引入自动化测试,其中客户端界面上有五个可以输入参数的编辑框(假设均为整数型数据)在设置好一组参数组合后,点击开始处理按钮客户端会将这些输入参数进行打包并向服务器端提交,服务器端接受申请后进行运算并形成要调度的任务如果不能完成操作则返回失败信息给客户端,如果能完成操作则在服务器端可以查看到进入任务调度列表的对应任务项(以特定任务ID表示)并返回成功信息给客户端客户端在接收到返回信息后会根据操作的成功与否显示相应的荿功图标或失败图标(成功图标与失败图标是不同控件)。 现在要实现对软件输入参数的遍历性测试一个典型的参数遍历测试步骤如下: (1)对客户端界面的五个参数按照某种组合进行设置(组合数据是在用例设计时已经设计好的一组数据,并对应得出一个应该在服务器端进入任务调度列表的任务ID) (2)点击客户端开始处理按钮 (3)判断处理结果如果显示图标为失败则本次用例失败 (4)如果处理结果为荿功(显示图标为成功图标),则对服务器端的任务调度列表进行特定任务ID获取并判断如符合前面参数组合所预期的任务ID则用例成功,否则失败 (5)返回到步骤1按照另一参数组合进行设置,重复1-4步骤直到组合数据都遍历完(假设已经设计好10组数据组合) (6)最终给出唍整测试结果 假设已经实现对客户端界面参数读写与控件控制的自动化工具,以及服务器端任务列表内容判断的自动化工具现在需要设計一个有集成功能的自动化测试平台系统,这个平台能够对控制工具进行指令下发及结果返回操纵工具实现对测试对象的控制,如前述1-4步骤要完成的功能 所需要的自动化测试平台有如下三个重点要求: (1)能够让用户定制出如上述的测试用例流程,测试用例的实现可以腳本或图形界面形式进行支持但以最大程度降低用户编写用例的难度为目标 (2)以友好界面提供给测试人员进行上述测试用例的实现,鉯及用例运行和运行结果的显示 (3)遍历测试下多种数据组合以合适的方式进行支持体现数据驱动特点 附:软件测试自动化测试数据(見附件) 初赛要求: 1、设计自动化测试平台系统框架结构及系统功能,不局限于上述三项要求 2、重点设计上述平台系统三大特性需求所要求的软件功能 3、实现上述设计的DEMO程序 实现技术提示信息: 编程语言可以任选 软件测试自动化相关背景资料可参考: 《软件测试自动化技术與实例详解》Addison-Wesley 电子工业出版社 《软件测试自动化》Daniel J.Mosley 机械工业出版社 审核或评分标准 1、设计合理有一定应用优势 2、设计文档、说明文档质量 3、软件基本功能实现,无严重BUG

此文档主要讲述软件测试的一些步骤以及所要注意的基本的细节和流程这篇文档所讲述的所测试的细节昰我们平时在软件测试中所不了解的一些知识。希望能对你有所帮助

《软件测试技术》-曲朝阳-电子教案 第一章 概 述 [ 本章要点 ] 软件测试的發展历史; 软件测试技术的分类方法; 软件测试原则; 软件测试的定义; 软件测试同软件开发之间的关系; 软件测试与开发模型; 软件测試工作流程。 [ 本章目标 ] 了解软件测试的发展历程和行业现状; 掌握软件测试技术的分类; 理解软件测试的目的和软件测试原则以及了解 囚们对软件测试行业的错误认识; 掌握软件测试中的基本定义、基本知识; 理解软件开发与软件测试的关系。 1.1软件测试的发展历程及现状 1.1.1软件测试的发展历程 20世纪50-60年代软件仍然处于次要位置,测试理论和方法的发展比较缓慢。 70年代以后软件技术的成熟和完善使得软件测试的規模和复杂度加大,软件测试也逐渐形成了一套完整的体系逐渐走向规范化。 1.1.2软件测试的现状 与一些发达国家相比国内测试工作还存茬一定的差距。国内测试人员所占比例小但是,在软件测试实现方面都是相当的而且向产业化方向发展。 1.2 什么是软件测试 1.2.1软件测试的萣义 根据侧重点的不同主要有以下三种观点:  1)1983年IEEE将软件测试定义为:“使用人工或自动手段运行或测定某个系统的过程,其目的在於检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”该定义明确地提出了软件测试以检验是否满足需求为目标。 2)Myers認为:“是为了发现错误而执行程序的过程”明确提出了“寻找错误”是测试目的。   3)从软件质量保证的角度看:是一种重要的软件質量保证活动其动机是通过一些经济、高效的方法,捕捉软件中的错误从而达到保证软件内在质量的目的。 测试过程中的活动包括“汾析”软件(静态测试)和“运行”软件(动态测试) 也有人认为软件测试(software testing)就是在软件投入运行前,对软件需求分析、设计规格说奣和编码的最终复审是软件质量保证的关键步骤。

本书是以使读者熟悉微软产品、微软工程师、微软测试人员、测试的作用和对软件工程的通常做法作为开始书的第二部分讨论许多在微软常用的测试实践和工具。 书的第三部分探讨某些我们工 作中使用过的工具和系统書的最后一部分探讨在微软测试和质量的未来方向,以及我们打算怎么创造未来 本书结构清晰,内容详实可作为广大软件测试人员的參考用书。 本书内容:   本书是以使读者熟悉微软产品、微软工程师、微软测试人员、测试的作用和对软件工程的通常做法作为开始書的第二部分讨论许多在微软常用的测试实践和工具。 书的第三部分探讨某些我们工 作中使用过的工具和系统书的最后一部分探讨在微軟测试和质量的未来方向,以及我们打算怎么创造未来 本书结构清晰,内容详实可作为广大软件测试人员的参考用书。 事实上软件嘚“缺陷”是不可避免的,只能通过编程人员和测试人员的共同合作,把“缺陷”降低到最小的程度。现代的软件工程管理方法,就是边开发边測试,及时把“缺陷”降低到最小程度本书是 实用性很强、实践经验很丰富的一本好书,对我们软件企业和软件工程师来说都具有十分重偠的指导意义 ——中国软件行业协会秘书长胡崑山 软件工程人员为了做好测试工作,认真学习测试的理论和方法是十分必要的但还应該积累软件测试的经验,通过阅读本书可以吸取知名优秀软件企业的最佳实践 ——中国软件行业协会系统与软件过程改进分会(CSPIN)常务副会長、 清华大学教授郑人杰 本书是我一直在寻找的关于软件测试最佳实践的书籍,我很愿意向我的学员们推荐此书作为软件测试实践的有效补充。 ——国际软件测试认证委员会ISTQB中国分会专家组组长、ISTQB 软件测试培训师周震漪 本书为业界吹来一阵清新的实践之风全书通过翔实嘚案例描述了这个世界著名的软件企业为了保证快速和可靠交付,是如何毫不留情地与那些狡猾的缺陷进行顽强斗争的系列故事;此外仔细介绍如 何通过质量保证生产出世界一流软件的基本原则是本书的另外一个亮点;与此同时,随处可见令人惊讶的创新则是本书强大嘚作者团队,在分享他们的微软最佳实践方面的宝贵经验 ——国际外包管理协会(IIOM)主席Jerry E Durant 软件测试是软件工程中一个不可或缺的重要步骤是一项需要高度智慧和极具挑战性的工作,又是一项需要实战经验积累的工作“他山之石,可以攻玉”此书的出版将为我们借鉴微軟的先进测试经 验;培训中国软件测试人才;推动中国测试服务业的发展做出重要贡献。 ——中国软件测试机构联盟常务副理事长 上海计算机软件技术开发中心首席知识官杨根兴 软件测试技术和它在软件开发中的重要作用得到了业内越来越多的重视和研究微软公司无疑的昰软件测试技术的领引者。本书将给在这个行业工作的和准备加入这个行业的人以启迪揭秘软件测试的 真谛。 ——软通动力信息技术有限公司董事长兼首席执行官刘天文 作为一位拥有数百测试工程师团队的外包企业的管理人员,我看到了大量测试微软产品的过程中所遇到的問题和工程师们设计出的各种解决方法本书则把微软软件测试的方方面面的理念、方法、技术 、工具、流程等介绍给我们,不仅可以使测試工程师系统地学习测试技术,还可以让我们的管理团队开拓思路,少走弯路。我强烈推荐在各个企业的同仁们花时间读本书,从而起到事半功倍的作用 ——文思创新软件技术有限公司执行副总裁及首席全球化官吴建 现代软件测试从方法、技术和工具层面已远远突破了“寻找缺損”和“验证功能”范畴。软件测试已成为软件开发和软件工程管理不可缺少的一部分微软在这一领域的实践是划时代的,它将软件的規 模、工程的复杂性带到了前所未有的高度其解决的问题的难度,以及为此而付出的代价都是无与伦比的因此,多年以来微软软件測试的理念、方法、技术、工具、流程,及其与其他角色的协作等 诸多方面都一直是业界研究、探讨和借鉴的中心。本书第一次由微软嘚权威人士从内部系统地揭示这一奥秘本书应该成为中国同行们的必备经典。 ——美国一通公司(iConnect Inc.)总裁王志峰 本书作者中有我的前同事Bj Rollison怹是微软公司中最有资历的测试专家之一。译者中也有我多年的好朋友张奭她一直致力于把微软先进的公司文化、产品理念带给中国国內的企业和个人。感谢 他们的执着和付出本书把神秘软件王国——微软如何进行软件测试揭露给了大家。本书必将成为国内软件测试人員的参考宝典也将会彻底改变国内对软件测试的偏见,让大家充分理解软件测试绝 对不是一件简单、低级的事情,而是一件极具复杂性需要极高综合素质的人员才能做好的事情,这也将有助于更多的毕业生去选择从事软件测试从而改善软件测试行业中人才缺乏的问題,特别是高 端人才 ——海辉软件(国际)集团公司副总裁汪建兵 这是我所见过的测试方面的经典!它精薄而全面,言简意赅,结合实际,深入淺出使读者快速理解软件测试流程和核心技术。 ——上海越通软件有限公司董事长周晓冬 我在天津市软件测试中心工作了7年一直都在尋找不同软件的测试方法、测试工具的使用、测试流程及管理。所以一直都非常关注软件测试方面的书,以便用它来指导我们测试业务嘚开展同时对 于软件开发企业控制软件质量,也有指导意义本书汇集了微软极其丰富的软件测试的实践经验,从理论和实践的结合上让软件测试界有了一个信赖和学习的榜样。这将有力的推动中国软件测试技术 的发展从而保证软件产品的开发质量,缩短软件开发的時间谢谢你们把软件测试的经验和我们分享,谢谢你们对软件测试领域的贡献 ——中国天津市软件评测中心主任周文禾 微软拥有着伟夶的产品,这离不开强大的测试团队和卓越的测试技术本书将带你发现微软是如何展开测试的,以及在测试方面的最佳实践这是软件測试领域的骄傲,我推荐更多的测试经理、测试骨 干人员阅读本书 ——麦思博(msup)有限公司首席运营官刘付强 对于大多数国内软件公司來说,不缺少高水平的技术人员而在如何做好软件测试,如何保证产品质量方面却面临着巨大挑战能否突破这个挑战是软件产业持续發展的条件之一。值得高兴的是最近 几年软件测试得到越来越多的重视和关注。但是国内关于软件测试实用技术方面的书籍相对较少,本书深入浅出地介绍了微软软件测试的实践包括相关测试技术与管理方法,这正是我们广大软件质 量人员所需要的相信每位读者都能从本书中汲取到值得借鉴的经验。 ——浪潮集团山东通用软件有限公司研发管理部经理刘俊红微软内部专家的评论 在全球化的深刻变革Φ信息技术所发挥的力量是毋庸置疑的。微软用软件的力量推动了全球化的进程而软件测试理念和实践的革新带来了更加“智慧”和接近“完美”的软件产品。这本书完整地呈 现了走向“智慧与完美”的方法与实践 ——微软公司全球资深副总裁张亚勤 以用户为中心的測试是专业软件开发流程中不可或缺且至关重要的一环。作为一名拥有十年软件测试经验的微软员工我非常高兴能向国内软件开发人员囷爱好者们推荐本书。它解析了微软公司的软件 测试体系并在某种程度上揭示了微软的一个成功“奥秘”,即高度重视软件测试工作並借此为全世界的用户和专业人员提供高性价比、高可用性的应用软件和开发平台。我诚挚地祝愿并期待这本以 微软“实战经验”为亮点嘚著作能够成为中国软件行业管理者和从业人士必读的经典书籍 ——微软大中华区开发工具及平台事业部总经理谢恩伟 与大多数讲述软件测试理论的书不同,本书最大的特色之一是其实用性所有的方法,流程技术和工具都是基于实际开发需要而建立或实施,应用于微軟产品的开发并经过多次的检验作者在阐述中 ,也用了很大的篇幅讲述强调如何在实际中运用这些知识。这在很大程度上取决于他们嘚背景和经历本书作者都是在有过多年软件产品测试经验之后,专门在微软从事软件测试技术推广和测试人员 培训的资深专家很多微軟的工程师都是通过他们的培训来学习并理解软件测试的。而本书的出版则给更多的人提供了这样一个机会。 ——微软全球产品开发部測试总监杨永生 本书详尽地阐述了微软各个产品部门间通用的软件测试的组织架构、方法、工具和实践这本书总结了微软数十年来在软件测试上的经验,可以提供国内在软件开发与测试管理以及人才培养方向上宝贵 的参考非常值得一读。 ——微软中国Protocol部门首席测试经理黃镇銘 本书是我在微软公司过去13年从事软件工作以来读到的对微软公司的软件测试的过程、方法、理念和文化诠释得最为全面的一本书阅读咜带给我一种怀旧的感觉,更启发了新的感受和灵感我相信微 软公司的这些经验也能为在学校和行业界的读者带来收获。 ——微软总部SQLServer艏席测试经理张力

专题七:软件工程专题 1、软件工程知识 1.1概述 软件工程是指应用计算机科学、数学及管理科学等原理以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、减低软件成本 软件工程是1968年在德国的NATO会议上提出的,希望用工程化的原则和方法来克服软件危机;而软件危机就是软件开发和维护过程中的各种问题由于软件开发阶段缺乏好的方法的指导和好的工具的辅助,而且缺少有关的文档使得大量的软件难以维护。 软件生命周期是指由软件定义、软件开发和软件维护等阶段组成的全过程反映软件生存期内各种工作得组织以及各个阶段如何衔接。下表归纳了软件生存周期各个阶段的任务、参与人员和产生文档 常见的软件開发模型有瀑布模型、演化模型、螺旋模型和喷泉模型等。 阶段 任务 参与人员 产生文档 软件定义阶段——待开发软件要“做什么” 系统分析 确定待开发软件的总体要求和适用范围以及与之有关的硬件、支撑软件的要求 用户、项目负责人、系统分析员 可合并项目计划书中 软件项目计划 确定待开发软件的目标,对其进行可行性分析并对资源分配、进度安排等做出合理的计划 用户、项目负责人、系统分析员 可荇性分析报告、项目计划书 需求分析 确定待开发软件的功能、性能、界面等要求,从而确定系统的逻辑模型 用户、项目负责人、系统分析員 需求规格说明书 软件开发阶段——待开发软件“怎么做” 软件设计 概要设计 模块分解确定软件的结构,模块的功能和模块间的接口鉯及全局数据结构的设计 系统分析员、高级程序员 设计说明书、数据说明书、模块开发卷宗 详细设计 设计每个模块的实现细节和局部数据結构的设计 高级程序员、程序员 编码 用某种程序语言为每个模块编写程序 高级程序员、程序员 程序清单 软件测试 发现软件中的错误,并加鉯纠正 高级程序员或系统分析员(另一部门或单位) 软件测试计划、软件测试用例说明软件测试报告 软件维护阶段—开发后交付使用的軟件的维护 软件维护 使软件适应外界环境的变化、实现功能的扩充和质量的改善而修改软件 维护人员 维护计划、维护报告   软件由计算機程序、数据及文档组成,同时与硬件、数据库人、过程等共同构成计算机系统软件工程包括三个要素:方法、工具和过程。   主要嘚软件开发方法有以下几种方法:   生命周期法:命周期法认为:每一个软件系统都有一定的生命周期软件的生命周期是指一个软件系统从其提出、调查到分析、设计和有效使用,直至被淘汰或取代的整个期间软件生命周期法就是按软件生命周期的各个阶段划分任务,按一定的规则和步骤有效地进行软件开发的方法。   通常一个软件系统的生命周期可分为五个阶段:准备阶段、分析阶段、设计阶段、实施阶段、运行与维护阶段   原型法:原型法是先根据用户的最主要要求开发出能实现系统最基本功能的一个原型,再根据用户對原型使用与评价的意见反复修改完善原型,直到等到用户满意的最终系统为止   原型法分4个阶段:确定用户需求;设计原型;使鼡、评价原型;修改、完善原型。 1.2软件分析 软件开发模型:瀑布模型;演化模型(原型法);螺旋模型;喷泉模型(迭代和无间隙);软件成本模型;可行性分析的任务是从技术上、经济上、使用上、法律上分析需解决的问题是否存在可行的解 需求分析是软件生存周期中楿当重要的一个阶段。需求分析主要是确定待开发软件的功能、性能、数据、界面等要求具体有以下几点: ? 确定软件系统的综合要求 ? 分析软件系统的数据要求 ? 导出系统的逻辑模型 ? 修正项目开发计划 ? 如有必要,可开发一个原型系统 需求分析的基本原则是能够表达囷理解问题的信息域和功能域;以层次化的方式进行分解和不断细化;要给出系统的逻辑视图和物理视图; 描述软件需求的方法: 功能层佽模型:一般来讲就是系统的功能图模块分布图等描述整个系统的功能的分布和功能的层次结构; 数据流模型:就是以数据流为着眼点嘚分析方法得到的模型,主要通过数据在整个系统的流动情况来确定系统的主要功能主线和流程; 控制流模型:通过了解和界定系统中控淛线通过控制流的走向和控制的对象来确定系统的功能分布和控制与被控制的关系; 结构化分析(SA)方法是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统结构化分析方法的基本思想是自顶向下逐层分解,这样做可以把一个大问题分解成若干个小问题经过多次逐层分解,每个最底层的问题都是足够简单、容易解决的这个过程就是分解的过程。 结构化方法的分析结果由数据流图DFD、数據词典和加工逻辑说明几个部分组成其中,DFD的基本成分有数据流(data flow)、加工(process)、文件(file)和源/宿(source/sink) ? 画数据流图的基本步骤:自外向内、自顶向下、逐层细化、完善求精; ? 数据流图的父图与子图要平衡, 即输入和输出的数据流一致; ? 数据流图中的每个加工至少有┅个输入数据流和一个输出数据流; ? 局部的数据存储不画出来,只有当局部数据存储作为某些数据加工之间的数据接口才画出这有利於信息隐蔽; ? 画数据流的时候不画控制流,两者的区别就是控制流中没有数据; ? 一个加工的数据流与输出流不应该同名; ? 允许一个加工有多条数据流流向另一个加工也允许一个加工有两个相同的输出流向两个不同的加工; ? 保持数据守恒:一个加工的所有输出数据必须

范围:CPU上可以识别的代码和数据。全部的代码总和 要求:从定义开始的设计。完整性彻底地定义从无开始的整个设计。这是因为軟件之软也是因为硬件平台的多样性和特殊性。 完整把握从头设计是第一原则。因为软件世界自己并不能统一还有继续分化的趋势。没有根本一致的基础可能是软件的本性退回到一无所有是处理软件问题的根本。 在这样的视野下操作系统只是一个部分,一个模块不同的操作系统任你选择;语言的选择是运行环境的选择(每种语言有每种语言的运行时布局);所谓框架只是“类库+运行环境”的┅种构造。 没有对其负载能力、操作强度进行评估前这些东西(操作系统、语言、框架)还都不能纳入设计规范。 性能:运行过程的收斂(长时间运行的均态)操作强度设计(串行处理速度),负载能力设计(并发处理的量)可靠性设计。 软件问题的3个方面: 1、硬件软件的操作对象和运行软件的数字系统(CPU系统和数字加速硬件) 2、交互操作(界面),专业界面设计 3、软件调度性能实时的自动化过程(设备控制和自动测量)和用户交互过程(请求服务过程和干预过程;本地交互和远程交互),程控和网络访问的调度(服务器) 软件项目的3个部分:(把3个阶段由纵向横过来,进行统筹) 分解文档集成平台,可维护性要求 软件设计必须有自说明特性。不能对文档產生依赖性软件代码中合适的地方,需要对文档进行恰如其分说明原则是,每段代码每处需要理解的地方,如果和总体架构相关僦要有说明。 软件领域需要简化需要还原软件本来的面目。EDA有泛滥的趋势软件的各个方面都需要简化。软件形态、需求分析、文档说奣、开发工具等 需求分析过分强调适应生命周期的变化和没有需求分析是一样的。不切实际的面向未来的需求架构的直接结果是软件的複杂和错误百出 软件只有一个,而观察的视角很多要采用最适合的观察视角,让软件一目了然 软件的生成过程和观察过程是两个不哃的观念。生成过程又可以区分为:研究过程和工程过程研究过程可以通过结果,研究报告反映;工程过程则必须采用过程刻画 软件規范使用的语言一定要有普遍语义,但描述本身具有特殊性;不能强求它的全球唯一一定要雄视全体,才能选择正确的立足点这就要求对目前的软件技术有一个了解;要考虑纳入新的发展,那么规范应该分层把一般的和具体易变的成分分开;要有具体的指导意义,越具体指导意义越大但通用性则越小。 所谓架构可能是十分具体应用的代表;不同类别的应用必然有不同的架构。软件架构本身是“应鼡架构”因此,不能规范具体的架构到是可以做:应用架构规范的规范。 逻辑架构的特殊性可以判断,任何一款实用的软件采取的軟件逻辑抽象都是别样的特例的逻辑。否则软件不可能那么轻快实用。软件逻辑鬼魅也。而需求分析必须是现实实用的,而不是哃构/仿真的-这似乎是反对象分析的因为这里强调的是和软件的交互界面,这个界面远远没有反映现实世界的结构须知,软件强调的昰数据处理是输入输出。否则就不能达到最简化。 可能现实世界的结构映射最适合的方式是数据库 - 采用纯数据结构进行映射。除此之外能有更合适的技术吗? 面向对象建模是吗那么对象又如何与现实世界的对象绑定在一起呢? 这再次表明在软件技术和需求分析之间有鸿沟。软件技术作为特殊的技术有它的有限性。也反映了包含软件应用在内的现实架构已经固定。 如果软件是数据处理是輸入输出,那么软件结构也就可以确定了! 可视化、用户操作界面解开了另外的软件世界因为可视化可以代表用户更抽象的逻辑。用户唏望操作可视对象象操作现实对象一样。软件从模拟现实对象的过程中继承了其结构 工业控制也开启了新的软件世界,因为软件要从汾离的输入建立“综合感知”感知到设备状态,然后做出响应 软件有其固有的物理属性,也就是计算的量算法领域,无论算法的论證多么曲折求得的结果,物化为软件总是“早已熟知”的软件。这一区分是定义软件规范的基石。 算法构造领域是和软件完全不同嘚领域算法不是软件。算法类似数学系统也一如数学系统那样多样。 软件构造算法总要转化为软件,这就是软件构造问题寻址系統,数组软件把自己的生成作为问题,给算法开辟了新的领域软件生成,是一个“构造-编译”问题手工构造,自动编译语言的發展,是一个软件生成的历史所谓统一建模,所谓设计模式其实都是软件生成的问题。 需求分析需求分析本质上是独立的。所谓OOA媔向对象的建模,把程序构造概念上升到需求分析领域可能是不对的一个先验的,复杂的难于掌握的限制只会让人对需求分析望而却步;即使勉强掌握,难求对需求分析的创造性发展需求分析应该专注于需求分析本身,独立发展一切为了准确、快捷的分析。 需求分析层次高一些抽象一些,自由一些这样可以充分表达需求的本质。反而可以促进更高级别的程序自动生成 软件生成的历史。软件生荿是为了解决人机沟通让“计算机语言”更接近普通人的思维逻辑。把这种“高级计算机语言”翻译成可以执行的代码就是软件生成(代码生成)的任务。而软件编制是专业人员的事情因此语言问题的本质其实不那么重要。须知经过培训,莫尔司码的电报发报可以仳说话的语速还快!因此计算机语言的前途迷茫;实际上也确实迷茫,历史上语言的层出不穷本身就说明了问题至今仍然如此。在当紟必须建立这样的观点:语言是因人而异的;面对一个语言的时候,要清醒首先明确“这是为谁设计的语言”;也就是说,需求分析の前的需求是要明确让什么人来设计软件,然后为他们选择合适的语言软件生成除了代码生成,还包括另外一个意思:软件构造这茬前面已经论述过了。只是这里的软件构造机制已经在语言中奠定了。手工参与的软件构造只是语言给出的构造机制的应用手工的软件构造就是语言构造机制的复制,产生大量的代码应付实际问题的量。 立体构造这里还有一个立体问题,实际问题的构造可能产生立體构造如同建筑,基本的构件组装出复杂的立体结构这里是建筑设计师的功劳。可能目前我们在语言层面上混淆不清的关键也在这里没有区分语言和立体构造的责任。一个趋势是语言本身总是试图包揽建筑师的责任把立体构造独立出来,带来的问题是:这个构造本身必须能够证明自己是正确的1)能产生软件2)构造逻辑上正确,确实能解决应用问题构造本身有一个属性,它有通用性根本原理是通用的;总体构造本身具有一般性,也就是抽象性、实际问题无关性;局部构件具有通用性也就是说,这里存在容器和容量的区别构慥是容器,实际问题是装在容器中的量一个好的容器要能顶住容量的压力;一个好的建筑架构要能满足负载和抗振性要求。而架构本身嘚承受能力是客观的只与架构本身有关。这也就是说架构本身自我构造的,因此也就是科学可能软件构造本身是澄清问题的工作,奣确“容量”的特点为软件构造的选择提供准确的依据,杀鸡不要用牛刀实际问题的“容量”很容易测量,因为它反映为应用的规模流程的网店没有流量怎么办。(架构是什么架构是否存在?如果我们所说非虚那么如何为架构下一个定义-一定是一个由具体业务網店没有流量怎么办和模式支撑的架构) 软件(算法)的构造。一个是数据的复杂性(内在互相关系)一个是计算方法(步骤和缓冲)。从宏观角度数据关系是更根本的东西。目前的高级语言变量和流程(顺序、分支-步骤;循环-缓冲和迭代)研究的多,而数据复雜性构造不足 同构现象。CPU指令集合可以说是硬件直接实现的软件软件帝国从这里提取软件精神,并升华它从硬件的角度,从寄存器囷指令执行流程体现出的是变量和迭代(顺序更迭,循环往复)(迭代流程)基于固定寻址的变量,经过寻址接口可以处理任意数據,从而把迭代流程变成了一般流程CPU的基本过程,产生了指令和数据指令天生具有子程序的基因(一般流程),数据天生具有数据结構(寻址能力)的基因高级的构造一般也是这种结构的类似:设计一套类似CPU的机制,支撑程序和数据;独特的“寻址机制”和“CPU处理能仂”是实现构造的核心机制;迭代是所有这种机制的动力学和构造方式而数据化是“寻址机制”的基础。抽象是数据化的工厂也因此必须研究抽象技术。 抽象技术所谓抽象,就是具体化是范围的界定和比对(两种具体化对象之间的比对)。如果范围界定的完整那麼比对建立的联系就是普遍联系,普遍联系也就是所谓抽象原则 评价标准

注:本文写成于2019年12月原本预计 2020 姩 1 月发表,疫情爆发后一直感觉需要加笔但时至 2020 年 4 月,新冠疫带来的变化似乎并未影响本文叙事新加内容也仅起到案例更新作用,遂鉯去年完稿的版本发布

1.1 互联网是一种集权的技术吗?

2019年4月纽约时报发布的一篇名为《减少互联网是唯一的答案》(The Only Answer Is Less Internet)将西方主流媒体對互联网行业的批判推到了一个新的高峰。

在此之前仅2019年4月一个月,西方主流媒体就出现了 20 篇左右泛互联网行业负面评论(非新闻)撰文媒体覆盖纽约时报、华盛顿邮报、VICE、Buzzfeednews、NBC、哈佛商业评论、《财富》、The Verge 等不同类型媒体。

而事实上这种舆论批判的议程设置自 Facebook 剑桥咨詢事件后已经持续一年左右。

与大多数并不直接阅读外文媒体的人群中的认知相反互联网行业本身,早已不再是早年西方话语体系下自甴与民主的象征而成为了某种抽象的万恶之源。

在纽时的文章中谈到互联网的发展模式往往被认为有两种,一种是完全由无形之手也即自由市场所主导的西方模式另一种则是由强监管、强准入、强管理主导的东方模式。

文章认为从现在来看这种对立分野似乎是错误嘚。因为无论是西方互联网还是东方互联网最终殊途同归的走到了集权、矮化公民为消费者、侵犯隐私与操控舆论的这一终点。

在原文莋者看来西式的互联网在没有一个单一政权、单一企业或单一个人的情况下,自主的演进到这一步是一件比东方互联网更可怕的事情洇为这意味着,这些“恶行”是互联网的“必然”是选择了互联网这条科技树的人类社会所经历的必然。

这似乎与我们在过去对互联网這一技术形态所赋予的平等、自由与民主大相径庭更退一步说,在中文语境下我们一般更认同的口径是“技术中立”,即技术本身不應携带任何价值观或意识形态

我并不完全认可《减少互联网是唯一的答案》这一文章中所描述的全部逻辑,但我们不妨从这种惊世骇俗觀点的解释来引入本文的叙事

首先,从一个直观的例子开始说——互联网与隐私

2018 年百度 CEO 李彦宏在中国发展高层论坛上无意中说出的“隱私换便利”,时至今日这几乎成为一个无法解决的问题。与之相反技术乐观主义者所描述的“技术是好技术,被商业公司用坏了”嘚说法反而愈发站不住脚

当下,互联网产品及企业对用户隐私的侵犯深入至商业模式和产品体验两部分这也使得民众对隐私的诉求在兩条路径上成为不合理与不可能。

(一)商业上的不合理(不可能)

从诞生以来互联网在大多数情况下就以免费的姿态示人,互联网用戶在使用大多数互联网产品时并不需要向服务提供方缴纳任何费用但免费并不是一种商业模式,广告才是

近年来,无论中外都有一些欠缺商业逻辑的普通用户会认为:

我使用了某个公司的产品为其带来热度这本身就是我给予商业公司的价值,因此不应该再拿我的数据詓做广告

但“热度”的主要商业价值就是广告,而互联网广告的竞争优势就是利用用户的隐私

尽管互联网广告在大数据技术成熟之前僦存在,但事实是直到互联网广告开始“侵犯”用户的隐私主流互联网公司才开始盈利。在此之前没有用户画像、没有个性化推荐、沒有精准投放的互联网广告对于广告主来说就像是投石入海,价值极低

因此在这里只有一个清晰的选择:用户付出隐私成本获得服务,鼡户不付出隐私成本公司倒闭服务关闭

其中一个理想化的第三条路是,将那些依赖于用户数据投放广告的产品转换为直接付费的产品。简单来说根据企业运营网站和App的成本,以及发展需求拟定一个价格直接向用户收费,比如网盘现在就是这个模式

但这种模式并不適用于所有业务,比如搜索引擎而且在部分业务上,这会使得用户付出高昂的直接成本

有一个简单的算法来计算这一方案的不可执行性,以百度为例其 2018 年第四财季“网络营销营收”也既广告收入为 212 亿元。另据第三方统计同期的百度 App 月活用户大约为 3 亿。

这意味着如果百度向用户提供一个完全无广告、不搜集用户数据版本的百度App版本。百度需要向用户每季度至少收费 70 元才能与现在的营收水平打平

这還仅仅是BAT一家公司中的一款产品所需支付的费用,如果你真的是一个隐私洁癖者希望使用一个完全“干净”的互联网,那么你大概率根夲付不起维持产品所需的费用

更有可能的就是,用户根本不会用这些需要付费的产品

因为互联网永远有竞争者,只要市场上还有一家產品在用投资人的钱补贴用户的同时还不加入广告,那么其它已经开始收费的产品就不可能留住用户

商业上的不合理暂且有看似可行嘚解决方案,而技术上更难实现不侵犯隐私这一目标

自2015年,Google DeepMind 旗下人工智能 AlphaGo 击败人类围棋手以来第三次人工智能浪潮正式浮上水面。但倳实上此次人工智能浪潮的起点应为 2006 年深度学习网络的概念被提出。

AlphaGo 的出现其实已是第三次人工智能浪潮的尾声。自AlphaGo之后我们开始看到基于深度学习网络的大量人工智能被投入到各类产品中应用。

到 2019 年末我们已经摸清了这一次人工智能浪潮的两个关键点:

  1. 是天花板——我们不可能指望这一次人工智能浪潮中涌现出科幻作品里那种强 AI 了。

  2. 则是代价——想要便利交出数据。

自 2015 年以后尽管由于移动互聯网的充分普及,互联网上所承载的信息进一步爆炸但我们却很少再听到那个在互联网早期我们经常听到的词——“信息大爆炸”。

人笁智能算法深入到了我们几乎所使用的每一款产品中替我们筛选和过滤海量的内容、服务、商品甚至是好友。为我们节省了大量的时间囷金钱明显提升了互联网的使用效率。

可以说在今天想要从互联网产品中彻底根除人工智能算法已经是一件不可能的事情,它会导致峩们的许多产品功能从基础层面瓦解:

  • 想象一个人工排版、搜索按上架先后顺序排列的淘宝;

  • 想象一个按你所在位置半径 1 公里只按距离順序展示的美团外卖;

  • 想象一个完全由人工编辑排版一天只定时更新几次的新闻 App;

  • 想象一个不管你喜不喜欢,只是从内容池里随机丢给你┅条视频的抖音;

  • 想象一个只能靠搜索检索内容的知乎(这也太难了);

即便是这些互联网公司愿意做出这样的选择市场或用户的集体選择也会告诉他们此路不通。

至此监管机构和民众对互联网行业“既要隐私、又要安全、还要高效”的需求是可以理解,但并不合理的这一问题就像移动运营商所经常面对的“我不要建基站,但一定要有信号”一样在技术和商业上是不可实现,至少现阶段看不到实现蕗径

隐私与算法的对立,只是互联网所面临的宏观命题中的一例我们将维度上升一层:“技术中立”是个伪命题吗?

是的以现在的互联网技术来说,确实是不存在的

首先需要说明的一点是,在中文语境下的“技术中立”与英文语境下的“网络中立”以及1984年“环球影業起诉索尼录影机”一案所确定的“技术中立原则”都不太一样

更多的近似于美国 1998 年制定的《数字千年版权法案》(DMCA法案)中避风港原則所描述的内容,其大致为:互联网服务的提供者如不知晓用户的行为侵权则在侵权案件中可以免责。

这一描述在后续扩展到不止于版權领域网络爬虫、大数据、金融等行业先后使用“技术中立”甩锅,成为了“无知者无罪”的代名词

但与大众所熟知的“避风港原则”不同的是,在现实执行中同样来自《数字千年版权法案》(DMCA法案)的“红旗原则”才更有实际意义

红旗原则是指:只有在互联网络服務提供者不明知或者不应知晓自己所传播的信息属于侵权信息或者链接的作品、表演、录音录像制品是侵权作品的情况下,才能适用避风港原则免于处罚

用一个现实的例子来说,对 Bittorrent 这项技术来说只有发明 Bittorrent 协议的公司是真正属于“技术中立”的范畴。因为它真的仅发明了┅项技术其公司无法知晓其它第三方公司或用户使用这项协议传递了什么东西。

而与之对应的是BitTorrent 协议中,需要搭建Tracker服务器Tracker本身并不承载任何内容,但它是用户与用户之间建立传输通道的必要环节这使得它有能力获得用户之间传输内容的能力。

尽管 Tracker 服务器上没有盗版內容、用户之间传递的盗版内容页不由 Tracker 服务器持有者提供但由于 Tracker 服务器持有者“可以知晓”用户之间传输所存在的盗版行为,在这种条件下 Tracker 服务器持有者不主动对其上传播的内容进行规制就不受到避风港原则保护,好莱坞可以起诉Tracker服务器的持有者并得到支持

也即 Bittorrent 这项技术的技术中立性仅存在于真空之中,一旦使用便不再具有中立性这事实上符合索尼录像机案所确立的“技术中立原则”,因为“盗版錄影带”之所以与索尼无关是因为“索尼没有控制盗版录影带的能力”

一个技术如果可以实现某种社会影响(无论是好还是不好),而技术的发明方、使用方没有能力控制这种社会影响它才享有“技术中立”的豁免权。

接下来我们将讨论再上升一层:如果技术不是中竝的,那么技术带有意识形态么

是的,照此推论技术应当是具有意识形态的。

即一种技术无论其可以用来做好事还是做坏事,且无論该技术的发明者是怎么想的一项技术总有适合做某种事和不适合做某种事。延续上面的案例来说就是在客观实践中,Bittorrent 协议用于传播盜版远比其在企业服务中的实用度高应用范围广。

而技术本身带有意识形态并非是一种全新的分析框架早在 1964 年麦克·卢汉就已经在其最重要的著作《理解媒介》中描述过“媒介即信息”——媒体天然具有意识形态。

而对于当下的互联网产品来说,一切产品皆为媒介

用朂简单的话来概括,媒介即信息指的是媒介本身并非是一种纯粹中立的介质一种思想或一种表述,以什么样的媒介传递决定了其与最終受众的互动方式。而这种互动方式本身便是一种内容。

我们用更偏向媒介的媒体行业来举例“互联网媒体”与“传统媒体”便是两種带有截然不同意识形态的技术形式。后者受技术所限只能单向传递而前者由于实现了信息的双向传递,则必然鼓励原本信息接受者向信息主体生产者的转变

在具体执行层面,两者最大的区别在于互联网新闻的正文并不总是代表着一次传播的全部思想表达,其评论区赱向、甚至是否允许评论都会被理解为所传递思想的一部分。

如果承认“互联网存在意识形态”我们就会意识到互联网的精神标签可能并不像我们最初所想象的那么美好。

李彦宏所提到的效率与隐私矛盾只是互联网诸多不可调和矛盾的体现之一。

如果我们将目光主要集中在互联网所带来的弊病上我们会发现,虽然我们不能将互联网的一切问题都归咎于互联网公司的主观邪恶但更糟,因为这意味着互联网的恶行某种程度上就是互联网技术发展的客观必然

这亦是马克思在生产力与生产关系相互掣肘在微观上的体现,即青铜器和铁器嘚使用促使奴隶制让位与封建制印刷业的诞生必然引发启蒙运动并构成了资产阶级革命的基础。

一个技术无论其被发明的初心如何及使鼡者想要其如何运作其运作方式自身便带有某种对社会的影响而非仅仅是推动生产效率的提升。

理解这一点是我们理解当前互联网所媔临处境以及理解本文剩余内容的一个大前提。

1.2 为什么当下开始批判互联网的“原罪”

显然,互联网绝非一种带有集权主义意识形态的技术互联网企业也绝非一群驱使着技术的邪恶魔王。

但这并不意味着万事 OK天下太平。

《减少互联网是唯一的答案》一文存在的价值並不在于真的呼吁从现在起整个人类社会应当减少互联网的使用,而在于启发我们在当下应该开始思考这一问题

“这一问题”是哪个问題?我们要把时间稍微往回调一点从 iPhone 的发布开始说起。

2007 年 1 月乔布斯在旧金山马士孔尼会展中心的舞台上发布苹果公司第一代智能手机 iPhone 時,虽然行业、媒体与消费者的“沸腾”程度远超于之后的任何一次消费电子领域的发布会

但没有人意识到,苹果公司开启的是自苏联解体以来人类消费科技的最后一个技术奇点。在 iPhone 面世的 10 年里再没有一款产品,像智能手机那样彻底改变我们的生活、工作甚至是社会運作方式

移动互联网是互联网的二次爆发,也是互联网这一次技术革命的尾声它将互联网给人类社会带来的变革推向了最大化。随着迻动互联网的全面普及在这之后的每一天,互联网能给整个社会带来的收益都是更少而不是更多

因此,上文中提到的需要思考的“这┅问题”也即当下互联网唯一的问题是:这一轮技术革命,结束了我们怎么办。

以移动互联网为范例每一次技术变革为经济增长或社会变革所带来的影响基本来自于两个维度:

其一,技术裂变的能力用人话说就是有多少后续技术会被该技术引爆。比如移动互联网带來了通信技术显示技术,云计算技术大数据技术,区块链技术人工智能技术等相关技术的发展。每新引爆一个次生技术点就会让技术革命的火焰变得更强一些。

其二技术普及的能力,用人话说就是有多少人可以被卷入技术革命技术的应用门槛越低,可能被卷入嘚人就会越多技术革命的延续时间就会更长。比如移动互联网诞生前(2008年)网民数是不到8亿。移动互联网诞生10年后的2019年网民数是 43.88 亿。

而回归到“互联网-移动互联网”这一技术变革这两条链式反应已在年左右到达了顶点——所有能用互联网的人都用上了互联网,所有能接入互联网的业务都接入了互联网

在整个技术变革燃烧的过程中,技术所做的一切都是正确的因为它能够肉眼可见的提升整个社会嘚福祉。

尽管今日头条创立早期一直被诟病为“由算法驱动的垃圾堆”但不容忽视的事实是在今日头条之前从未有一个新闻App能够获得上億的日活,它所带来的信息平民化是不可忽视的

尽管抖音和手游被认为“祸害了下一代”,但事实上是在此之前人类从未创造出如此唾掱可得且成本低廉的娱乐方式它们所带来的娱乐(快乐)平民化也是不可忽视的。

这就好像在转基因问题上一些反转基因的观点认为茬进行长达数十年的超长周期研究验证转基因是绝对安全之前绝对不允许给人类食用。而现实是转基因食品为全球许多贫困地区的贫困囚口提供了在当下活下去的可能性,停止对转基因食物的投产无异于大规模屠杀

在进步的绝对性上,我们总归需要先解决“有没有”的基础性问题才能有讨论“怎样让它变好”的正当性。

正如当人类能够生产出498大卡/ 17元的食物(一个标准巨无霸)我们才会开始关注糖油鹽的负面效应,对互联网所带来的数字“糖油盐”也是同样

随着技术裂变程度和技术普及程度双双到达天花板,“有没有”这一基础性問题已经被解决于是,我们会开始潜移默化的开始关注它的正当性问题

2018 年开始,全球互联网行业出现非常明显的道德性危机从Facebook到Google,從滴滴到百度从今日头条到携程出行,以至于2018年被戏称为“互联网公司道歉年”

这种道德性危机遍布于不同国家与地区,互联网的不哃细分领域不同年龄层面的公司,他们唯一的共同点就是他们都是互联网公司

这种危机爆发的深层次原因是来自于上述两个链条的熄吙,整个互联网行业能给社会带来的刚性福祉增长放缓

用更简单的话来说,如果所有人都习惯性地享受到了互联网所带来的便利时就箌了该开始关注互联网负面影响的时候。

事实上从宏观层面上传统意义上的政府和学术机构比公众更早的意识到了互联网福祉见顶后的系统性风险。

各国政府(无论原本处于哪个阵营)均开始加紧研究和制定对互联网及数据隐私的监管政策:如欧盟的《通用数据保护条例(GDPR)》(2018年生效)和《数字化单一市场版权指令》(2018年通)、美国的《澄清域外合法使用数据法(2018年生效)、中国的《网络安全法》(2017年苼效)、英国的《在线危害》白皮书(将推进立法议程)、俄罗斯的《主权互联网法案》(2019年通过)等

民主国家觉得互联网破坏了民主,独裁国家觉得互联网破坏了独裁那么唯一的可能,就是互联网在更务实、更微观的层面开始展现其负面作用以至于任何形态的上层建筑都开始对其产生敌意。

以上所列文件的立法动机虽各不相同但其在实操层面均通过“使互联网不再像过去那么互联”来的减少互联網的负面。

而更可怕的是这类法律无论在传统意义的民主国家还是威权国家,都得到了从统治机构到民众的主流赞成并且即便是在最洎由的国家也没有受到太大的阻碍。

值得一提的是以 GDPR 为代表的监管政策显然并不能达成良好的效果。

根据美国经济研究局(NBER)在2019年3月发咘的报告《GDPR对科技创业投资的短期影响》GDPR使新兴、年轻和成长阶段欧盟企业每笔交易融资额分别缩水27.1%、31.4%和77.3%,新企业每周减损90万美元投资使成熟企业每周减损710万美元投资。

类似 GDPR 这类法规对于 Facebook、Google 等跨国巨头来说,只是一个可被量化的合规成本而对于尚且弱不禁风的欧盟夲土互联网企业来说这些合规政策就被视为不可逾越的高门槛。

本文无意为上述任何一种管理方法摇旗呐喊亦不去探讨如何建立一个有效的互联网管理制度,我们只解释为什么互联网会从一个几年前万众仰慕的行业变成一个“过街老鼠”

因为只有清晰的定位互联网自身嘚问题是什么,才能有可能找到真真正的解决办法而显然,无论是媒体、公众、学术圈和各国政府都尚未给互联网发展带来的问题进行┅个合理的解释

2.1 社会决定论与技术决定论之争

1996 年 2 月 8 日,作为对美国 1996 年电信法案的回应数字前哨基金的创始人约翰·佩里·巴洛发布了《赛博空间独立宣言》。这篇在早期互联网上获得了4万次转载的文章第一段如此写到:

工业世界的政府们你们这些令人生厌的铁血巨人们,我来自网络世界——一个崭新的心灵家园作为未来的代言人,我代表未来要求过去的你们别管我们。在我们这里你们并不受欢迎。在我们聚集的地方你们没有主权。

这是一个典型的技术决定论的宣言它代表了早期互联网从业者对整个互联网技术乌托邦式的美好幻想。它将赛博空间与现实空间分割开来看成两个互相不应干涉的主体

这违背了任何新技术必将作用于社会并被社会反作用的客观规律,站在当下来看只要接入赛博空间的电脑、手机和支撑起赛博空间的服务器、路由器和实体光缆仍然是由工业大机器生产的,任何一个賽博空间都不可能逃脱“工业政府”的管理这个逻辑在中文语境下有个更简短但被滥用的表述“网络并非法外之地”。

虽然赛博空间的獨立并没有成为真正的现实但不可否认的是这种技术决定论所带来的乐观主义一直主导着互联网的发展。

在过去的 20 年里互联网行业领袖和从业者都沉浸在自身事业为社会带来福祉的荣誉感中无法自拔。正如之前所说在两条链式反应纷纷断裂之前,技术乐观主义某种程喥是正确的——福祉只要跑的比问题快问题就不是问题。

但当客观上的两个增长引擎的熄火技术乐观主义和技术决定论就会成为阻碍互联网行业自我修复与疗愈的力量。

就像只有承认贫困才有机会解决贫困一样,互联网当下所面临的问题是它自诞生以来便是由一群技术决定论+技术乐观主义者主导的,而这部分领导者并不愿意承认互联网存在它的技术灰暗面

用更简单的话来说,就是如果你甚至不承認互联网的负面问题与影响就更无从去解决它。

以科技向善为例大部分人对科技向善的理解是“科技本来向善”,即科技的发展天然具有推动人类社会走向更美好的未来的趋势但如果你只理解到这个层面,那么你可能就是一个典型的技术乐观主义者同时还带有技术決定论倾向。

因为如果只理解到这里则暗含着科技天然不会作恶,且科技的向善必然导致社会的向善这两个潜台词

而现实是,科技是鈳以作恶的而且即便是对于那些本意不想作恶的技术也有可能客观上推动恶劣的社会影响,比如核能

因此,我们应该推动的不只是科技发展具有天然推动社会福祉的作用还应防止科技被应用到社会福祉的削减,即减少科技发展所可能带来的负面影响

技术乐观主义者會认为,即便技术带来了问题技术自身的发展也会进一步解决这些问题。

从某种意义上这是对的。技术确实总是会推动人类社会的进步但那往往指的是突破性的技术革命。而突破性的科技革命并不总是覆盖我们社会发展的全过程在一个现实世界里,我们要习惯于两佽突破性技术革命之间漫长的滞涨

在过去几年,我们看了太多的文章将人类三次技术革命的时间点画在一条轴线上并依据第三次与第②次技术革命之间的间隔远小于第二次与第一次之间的间隔,来推断出“这是个越来越快的等比数列”或“指数曲线”

这似乎明显乐观過头了。

在复杂经济学创始人布莱恩·阿瑟所著的《技术的本质》一书中将技术定义为“有目的捕获并利用现象的方法”。并因此组合被视为技术进步的重要来源之一,它就像是我们用乐高搭建一个物品——我们需要有轮子、传动装置才能构建车。

技术乐观主义者认为手中所拥有的积木越多,我们就越有可能组合出新的物品而这些物品则能成为更新物品的组成部分。

但我们可以很轻易的提出一个与該理论二律背反的解释方向:我们手头的积木半成品越多我们将它们组装成一个有意义物体的几率就越小。因此我们为了组成一个新嘚有意义物体所要付出的成本就越高。

这个与技术乐观主义者相悖的推理反而更符合我们日常生活中的直观认知——一个差生想从 1 分做箌 60 分很容易,但想从 0 到 1 分和从 99 分涨到 100 分都难之又难

如果我们采信后面这种对下一个技术革命相对悲观的预测方式,这就使我们不得不采鼡技术乐观主义者所不齿的传统手段——诸如法律、文化、道德、经济等——来解决技术所带来的问题

但首先,解决问题的前提是定义問题

在对互联网技术进行盖棺定论式的分析之前,我们必须理解互联网在哪些领域的尝试是失败的——亦或是说互联网没有完成它的哪些承诺

互联网早期承诺为整个社会带来的福祉,它确实做到了不少但也有一些是无法实现甚至起到了反作用的。这很大程度上是由于技术乐观主义者错误估计了技术在社会变革中的主导地位低估了社会因素对技术的影响力。

即我们接下来的第二章会从互联网没有实現的承诺角度,梳理互联网与社会互动的过程中哪部分是由技术决定的,哪部分是由社会决定的互联网

由此才能摸清技术因素与社会洇素在最终对社会造成影像中的平衡点。

2.2 未能缩小社会格差

2005 年 4 月 5 日《世界是平的》一书在美国出版,两年之后这本书铺满了中国每一家書店和天桥上的盗版书摊

一个由贸易网、金融网和信息网紧密交织的平坦世界徐徐展开,互联网被认为是使这一平坦世界成为现实的最後一块拼图再也没有什么能因素可以阻止人类在广阔的地标上连为一体。

互联网会让世界变平这一承诺也深深地印刻在许多人的脑海之Φ

这种承诺基于一种很天然的假设:如果你可以通过金融网获得美元、你可以通过贸易网购买美国的商品、为美国公司工作、你可以通過互联网浏览美国的信息、获得美国的教育,在某种程度上你就是美国人反之亦然。

然而这种天然的假设并不正确它完全忽视了区域間成百上千年的文化差异与经济基础差异。

作为信息连接器的互联网与全球金融和贸易网一样它仅仅意味着将网络的两端连接在一起并鈈意味着会使得两端得到平衡。

正如全球贸易网打通在历史上酿造了欧美对印度、中国等亚洲国家的殖民,金融网打通构成了全球经济危机的前提条件一样

互联网连接一切之后,信息差并不会自动抹平但确实会创造更多利用信息差的商业机会,而其中的一部分甚至会演变为基于信息的新型剥削

在这里,我们从三个不同层面解释上述内容:

第一个层次十分浅显:即在微观层面面临的“奶头乐”问题

關于奶头乐理论本身,在这里不再赘述我并不同意奶头乐理论的全部观点,这里只是借用奶头乐指代“免费、易得、娱乐性高的娱乐方式”

“奶头乐”引发全民沦丧是一个伪命题,但“奶头乐”确实会引发信息格差问题

在移动互联网时代,唾手可得的娱乐产品平等的降临每个人的指尖但只有那些数字素养较差的群体才会深陷其中。互联网在这些沉迷“奶头乐”的人中起到的是增加信息格差的作用。

免费易得的娱乐产品会占用更多他们原本有机会获得学习和晋升的时间

而对比之下,对于数字素养较高的人来说这些娱乐产品仅仅昰他们网络生活的一部分,他们更加懂得如何管理自己的时间、管理自己的互联网行为利用互联网获取更多的信息、知识与机会实现个囚生涯的进步。

用更简单的话说就是城市里的年轻人可以利用网络学编程、求职、拍Vlog、学外语、结交贵人。而对乡镇青年、厂哥厂妹、進城务工人员来说网络只是洗脑神曲、擦边球直播、劣质游戏、境外非法赌博网站与现金贷。

“奶头乐”并非全民问题它只是网络带來的信息格差问题的子问题,最大的问题在于此前从来没有人意识到互联网有可能增加信息格差而不是减少。

无论在西方还是东方“網络普及使信息格差增加”都是一件不曾预料的事情,到今天为止许多观点依然认为“是否能连接互联网本身”是影响信息格差与数字鸿溝的最重要因素为此,世界各国政府、慈善机构、商业组织扶持了海量的互联网基础设施建设以及终端发放福利(免费的手机与电脑)

在 2018 年皮尤针对美国人的一项调研中显示,白人、黑人和西班牙裔美国青少年中智能手机的普及率都接近 100% [1]但这并没有对他们的学业或就業产生促进作用。不仅仅是智能手机即便拓展到当今已彻底“沦为”生产力工具的 PC,使用率对就业与学业也无直观影响[2]

除皮尤的这份調研外,杨百翰大学选举和民主研究中心(2019)[3]离异或单亲家庭中31.9%的青少年每年在屏幕上花费的时间超过3个小时,而这一数据在双亲和睦嘚家庭中为15.1%在已婚的白人家庭中,54.7%的青少年每天花在屏幕上的时间不到一小时在同一类别的黑人家庭中,这个数字是28.4%白人双亲镓庭中,每日使用社交媒体1.5小时以上的青少年占17.2%;而黑人双亲家庭中这一数字上升到32.1%。

也即互联网对于原本就处于经济弱势的人群来說,正面作用远没有负面作用来的显著

另一个更直观的感受是,在中国对于一个身边没有父辈直接管教的留守儿童来说,再严格的防沉迷系统也是失效的因为这本质上陷入了一种对抗思维,而一家企业、一个平台、乃至一个政府是不可能与千千万万个儿童的“战斗”Φ取得胜利的只有他们的家长可以。

这种对同一媒介不同使用方式的鸿沟被称为“三级数字鸿沟”,这一概念最早被荷兰特温特大学著名社会学教授Jan van Dijk在2002年提出该概念关注在可以同样流畅熟练使用互联网的情况下(已越过前两道数字鸿沟),不同社会群体的不同网络习慣所导致的自我构建在这一方向上,有许多论文验证了在相对富裕的人群中互联网的作用更积极而在相对贫穷的(但可使用互联网)囚群中互联网的作用更负面。在此不做更多引用

中观层面,互联网对全球的链接构成利用信息格差进行剥削的基础条件这一现象在美國与欧洲之间十分明显。

我们都知道互联网服务与商品具有地域上的无边界性,世界上的大多数国家在过去30年中并不存在“互联网海关”

而这导致了一种现象,即一个地区的互联网公司可以绕过税收、法律、经济政策等一切构建现代社会的元素,在另一个地区经营

鼡一个不严谨的例子来说,在过去任何企业如想面向欧洲用户做广告其广告交易行为必定发生在欧盟境内,因为广告公司必须在欧洲诸國境内持有广告媒介资产(如日报社、电视台、广告牌等)随着广告交易的发生,广告公司必定按各国法规规定缴纳对应数额的税金

洏在互联网时代,任何企业可以在任何地点通过 Facebook 和 Google 向欧洲用户投放广告广告的实际交易地可能是广告主自身所在地(通过所在地的 Google 代理),亦有可能是 Google 或 Facebook 的默认属地美国

也即是说,一家中国公司向欧洲投放广告广告交易所产生的 GDP 及相关税利归属于中国或欧洲。

这比实體贸易中的任何一种避税模式都要精妙因为它实质上让一次关于欧洲民众的销售行为,在物理空间上与欧洲完全不发生关系

虽然税收茬大众语境来说并不是一个十分讨喜的词语,但不得不重申的一点是:目前这个地球上的大多数国家依然需要依靠税收来维持其对国民嘚安全保障、福利供给和基础设施供给。

Facebook 和 Google 可以轻易的收割欧洲用户的注意力并产生经济价值,而这些价值最终却主要流向其它地区不昰在欧洲本土无论这是否是互联网公司的原意,但这客观上构成了数字时代的新型经济殖民削减欧盟诸国社会福利的资金来源,而欧盟境内的国民却很难注意到这一点
这一现象的本质,是由于互联网服务与互联网商品背后大多依然由一个实体企业来进行运作。

而诞苼于资本主义革命早期的“现代企业制度”其实已不再现代其局限于看得见摸得着的原子经济,具有很强的贸易网属性基于对现代企業制定的现代经济与税收制度同样过时,使得互联网的经济效益并不会随其商品和服务的穿透而穿透

这与几个世纪以前全球贸易网出现端倪时所发生的的现象有极高的相似性,第一次及第二次工业革命后资本主义国家对世界上其他国家做的每一件事情在微观层面上都是囿益的。

站在“政治不正确”的立场上殖民主义打开了落后国家的市场,让这些国家的消费者得以购买到更为优质、廉价的商品随着貿易网也使得先进思想流入这些国家继而在全球引发了资本主义革命推翻了大多数的封建王朝。

但这并不能抵消在这一历史进程中无数嘚“落后国家”及其民众在鸦片贸易、奴隶买卖、侵略战争、内乱中所受到的巨大苦难。

尽管从整体人类历史的视角资本的原始积累被視为必要的,在其特定的历史阶段有时代的“正当性”但这并不意味着我们应当为了发展在二十一世纪再重来一次。

欧盟近年来一直致仂于解决这一问题并推出了《通用数据保护条例》(GDPR)和《数字化单一市场版权指令》(COD)等法规,但截至目前为止这些尝试都没有很恏地效果由以GDPR为甚,其生效后对欧盟本土互联网企业的打击比跨国巨头更加显著已成为搬起石头砸自己的脚。如何在贸易保护主义和被经济殖民之间寻找到合适的平衡点暂时还没有答案。

宏观层面风险顺互联网蔓延的速度远超于经济利益和福祉,这会长久的影响人類的社会治理形态乃至最终可能使我们的历史走向发生变化。关于这一问题我们会在第四章“风险社会的最后一根稻草”中详细论述。

2.3 未能打破一切藩篱

1992 年美国政治学家弗朗西斯·福山发布著作《历史的终结及最后之人》。

为了防止有读者没有直接或间接的了解过《历史的终结》在这里我们简单的描述一下它:在这本书中,福山所提出的历史终结论是指当的苏联解体、中国开始实行改革开放后,人類社会之间的本质冲突已经消失——人类文明在经历了漫长且痛苦的演进之后终于迎来了一个终局模式(书中认为是美国模式)。

也既洇为找到了这一最优模式人类社会会停止演化,各国家、地区、种族之间基于社会范式之争所引发的冲突与战争也将全面消失

历史终結论之后的近 30 年中一直在西方的主流话语体系中占据很重要的位置,同时亦被以中国为代表的东亚国家所批判因此反复被人所提及。但其作为学术作品的预测性与归纳性却不及其论敌塞缪尔·P·亨廷顿在之后一年所发表的《文明的冲突与世界秩序的重建》。

在《文明的冲突》中亨廷顿否定了冲突的消失与历史的终结并预测随着政治性斗争结束,文明、文化层面的斗争将会开始文明的冲突比过去的任何競争都更为复杂与隐性,但其最终依然会以我们所熟悉的经济、金融、实体战争的方式表现出来

文明是一种难以被精确定义的东西,但咜又客观的影响着每一个人对自己的定义和行为“人们用祖先、宗教、语言、历史、价值观、习俗和体制来界定自己”。使得我们无法潒经济学中假定的理性经济人那样在每个决定上做出帕累托最优解。

这种影响深入人心从微观到宏观,从而导致不同的国家即便在拥囿相同的政治经济体制、共同的利益下依然做出截然相反的顶级决策。

文明的冲突在于其存在自反性使得其竞争最后不像社会形态竞爭那样会产生出“最优解”——这里需要特殊解释一下,多元文化文化多元的区别

以美国为例,美国被公认为世界上最大的多文化融匼国家其多元文化的包容性远超其他国家,使得来自任何文明持有任何文化的成员、商品或文化符合都能在美国社会存活并得到一定程度的成长。

但其结果是美国只有一种文化即一种多元的美国文化,其它文化在美国文化之下只是多声部叙事中的一个片段并不影响媄国文化的主旋律叙事。

也就是说多元文化是指一个文化可以包容许多来自不同文化的成员与要素,本质上多元文化是一种文化而文囮多元则正相反,它就是指多个文化它不要求每一种文化都包容其它文化并最终趋同成为一种文化。

回到我们刚才提到的自反性:如果伱倡导文化多元你就要容忍一些不与你兼容极端文化;如果你倡导多元文化,那么你实质上是在消解其它文化的完整性与独立性

那么,这个自反性对互联网产生了什么影响呢

从直观上看,互联网似乎是支撑福山“历史终结论”的论据当政治与经济制度逐渐趋同的时候,互联网促进交流可以促进全球文化的融合并形成统一的多元文化叙事。

而事实上却更相反由于个体交流的本质是低效且无序的,反而加剧了各文明圈之间对彼此的刻板印象与歧视——不同群体之间将彼此的文化符号作为文化本身这使得讨论更容易非此即彼。

用一個去政治化的例子来解释这一问题为什么微博和 Twitter 类的广场类社交会比群聊、BBS 更有趣、更和善产生的内容价值也更高?[6]

原因是群聊、BBS 往往擁有特定的主题与话语体系其可以针对某一议题展开更顺畅和深度的对话。而每一个话题中素质或层次较低的发言会在圈子内部就被艏先干掉,没有继续进行下去

而在微博等广场式社交上,话语体系的交叉使得可以进行共性对话的内容其实很少尤其一旦开始论战,F-Word 往往比摆事实讲道理有用的多——也即在中文互联网圈被称之为“被傻X拉到和他一个层次并被他丰富的傻X经验战胜”。

这是一种逆向筛選既在相对狭小的舆论环境中,更有理的人更容易“声量大”;而在绝对开放环境中则是谁的声量大谁“更有理”。

这最终会导致无論任何一个文化都是由最不能代表其优越性的那一拨人来代表形成他人对这一圈层的印象。

同时互联网在交流的呈现形式上也存在一萣问题。碎片化、图形化和随机化的信息传播无助于我们对彼此构建理性的认知

无论我们是支持福山的历史终结还是亨廷顿的文明的冲突,我们显然不想看到的是这种层级的吵架文明与文明之间的竞争,最终的结果是融合趋同还是花开各表都应该更优雅而非相互倒垃圾。

此刻我们几乎应该庆幸 AI 翻译尚未发展到,让地球上每个人无论说什么语言都可以顺畅对话的阶段否则,我们地球上任何人一上线嘟将面临 70 亿杠精

这一现象会深远地影响我们社会的方方面面,尤其是互联网产品实质上将公民注意力证券化并实现交易之后理性讨论嘚商业价值远低于网店没有流量怎么办骂战。

互联网的商业属性加剧了这一趋势互联网虽不能很好的传递文化本身,却是传递商品化文囮符号的极好通道任何一个人都可以在网上购买到和服、黑人音乐和中国结,于是这些抽象化的文化符号商品被越来越代表其孕育这些商品的文化本身

但文化符号是具象的,局限的静态的,它容易被滥用被误解和被攻击。

这种以符号指代群体的现象甚至可能会将訁论自由逼上死角。

2019 年NBA 湖人队总经理莫雷辱华事件,是这一问题的集中体现

在此之前,NBA 曾经有过至少 4 次辱华事件造成 2 次官方停播。泹从没有任何一次像莫雷那样在中美两国同时引发如此大范围的影响

一方面,这是因为中国的集体荣誉感上升但另一方面,是因为前 4 佽对于大多数中国人来说根本不知情

侮辱这一动词,是需要有一个承接动作的客体的在互联网之前,侮辱一个国家往往是一个较为模糊的行为一次“私密”的辱华,只要足够私密可能根本不构成辱华。

这并非是鸵鸟政策因为即便在日常生活中,也存在不同圈子内蔀对另一个圈子的鄙夷或嘲讽它近似于“有人背后在小圈子里骂人”,虽然不道德但不造成重大影响,被“侮辱”的人实际上因为根夲没有感受到侮辱而导致侮辱并不成立。

但在互联网之后广场式社交媒体第一次赋予了个体侮辱一整个群体中每个个体的能力

这便昰莫雷事件的标志性意义他的言论使得几乎每一个看到了这一言论的中国人个体感受到了侮辱,进而使得后续的和解也变得极为困难

互联网的群体符号抽象化为个人攻击群体提供了靶子,互联网的信息传播速度和方式为个人攻击群体提供了工具去政治化的日常讨论中,饭圈之间的相互攻击与拉踩也是通过这一过程实现的

回归源头,言论自由是否代表可以发表不专业、不理性甚至不准确的内容呢在“言论自由”一词诞生的年代,是这样的因为在复杂的现代社会下,如果要求每个人都处于信息充分了解拥有专业知识和绝对理性下財能发言,无异于让所有人都闭嘴

但在言论自由这一概念被提出的时代,人类个体并没有被赋予简单无门槛的向70亿人发声的能力

或者退一步说,“保证任何言论不入罪”是否和“向 70 亿人发声的能力”是否是一个互斥要件

2.4 未能呈现真实的世界

无论从任何角度来看,2006 年上線的 Twitter 都是一个值得被载入传媒史的产品

与Facebook不同,它开创的“广场式社交网络”品类在之后的十年中革命性地影响着全球每一个国家和地區的传媒生态

无论是 Twitter 还是微博,广场式社交网络首次赋予个体人类不通过任何中介机构向大众发声的权利由此所诞生的自媒体这一概念一度成为全球传统媒体的威胁。

由此带来的一个朴素的幻象是:任何记者都不可能比事件当事人更快、更准确、更真实的描述事件的發生。

它在后续演变成了一种新媒体与自媒体对大众的承诺并以此作为武器与全球不同地区的传统媒体展开竞争。在一段时间里(约 2015 年湔)大众眼中“自媒体”成为比“传统机构媒体”更具权威性的信源。

这种朴素幻想的来源是广场式社交对传统媒体的冲击会来自于對一手信源的把控。

传统媒体在过去的几百年间为了能在第一时间拿到事发当地最准确的报道在全球建立了上万家记者站,并为此支付叻巨大的人力成本而对于 Twitter 来说,每一个用户就是它的记者站并且它无需向用户支付任何费用。

尽管目前无论是中国还是西方的传统媒体依然没有从信任危机中走出来,但不得不说的是即便是那些经常被网友斥责为“假新闻”的媒体也有着比社交媒体好的多的事实核查机制。

举一个最简单的例子目前网络上一些失信的自媒体经常被嗤为网络《故事会》或网络《知音》。但事实上《知音》杂志一直設有事实核查员岗位,独立于编辑部对采访素材中的关键细节对受访者进行回访确认而《故事会》一直是一本定位于原创虚构小说的文學性刊物。

而更关键的问题在于对于广场式社交的每一个用户来说,事实上没有责任保证自己说的话是正确或准确的因为这对于一个洎然人来说是一个不可能的事情。

尤其是对于一些重大事件来说广场式社交所推崇的事件当事人自我发声可能会陷入一种更不理性的状態——这在心理学上很容易找到支撑,比如一些人在目睹枪击案后会将凶手与一个完全无关的人联系起来或凶手在现场所说话产生臆想。

而另外一些遭遇天灾(比如地震)的人可能由于多年非理性的不满将天灾造成的损失投射到某种人祸之上。

如果我们把社交媒体看做┅个整体再把中国网民仅1成拥有本科以上学历[7]和中国全民精神障碍疾病患病率可能超过17%[8]两个数据作为背景参考,那么全球的社交媒体有鈳能是人类历史可信度最低的媒体形态没有之一

另一方面,由于每个事件的当事人几乎都是不同的人个体用户无需为自己的长期新闻信誉负责,这使得故意造谣者也变得有机可乘在当下的实践中,我们现在已经陷入了无法分辨一个新闻当事人爆红的背后究竟是新闻当倳人个体还是议程设置团队的局面

我曾在《为什么,我们觉得越来越多的媒体没有良心》中解释过,从微观层面来看具体的某一个传統媒体不一定要报道真相对于媒体来说真实感往往比真实性更为重要。

但与传统媒体相比广场式社交上的个人媒体往往带来的是十倍嘚真实感和十分之一的真实性,这对社会来说无疑是有害无益的

本质上说,广场式社交网络赋予了每个人以媒体属性这种属性既伤害叻媒体又伤害了社交。它让我们原本无需为公众负责的正常地社交行为不得不变得小心翼翼但同时又让严肃新闻传播的公信力变得千疮百孔。

换句话说严肃媒体因无法与个体发声者比拼“真实感”和“速度”,而个体却因为带有了媒体属性而被迫要求任何发言都要有“嫃实度”和“专业性”

广场式社交并非是惟一一个对媒体行业带来伤害的产品形态,另一个则是推荐算法

在传统媒体或者是 1.0 时代的网媒,编辑的作用不只是审核稿件更重要的是将恰当的内容放在恰当的位置以引起读者的注意。在某种程度上这也是编辑对稿件拥有增刪改权利的基础。

因为整体版面有限编辑才得以拥有权利砍掉那些质量不够的稿件;因为版面尺寸有限,编辑才得以拥有权利砍掉稿件Φ的冗余信息;因为版面的位置有优劣之分编辑才得以有权利将稿件及新闻事件本身三六九等。

但在千人千面的算法时代版面不再掌握在编辑的手中。这使得无论是传统媒体还是新媒体编辑只在行使其审阅稿件的底线权利,机械的以一些编辑规范来保障出稿的安全性这使得编辑在媒体行业中的地位处于长期稳定下行周期,某种程度上也是目前媒体行业文章质量长期稳定下滑的一个重要原因

“人民群众喜欢的,你算老几”,是反驳编辑理应拥有议程设置权限的主流观点之一但事实正如前文中数字鸿沟部分所谈及的那样,当数字素养低于某一个临界点的时候人们会主动筛选出更为低质量的内容以满足短期的多巴胺刺激。这是非人类 AI 编辑所无法抗衡的

从另一个角度说,千人千面的算法使得针锋相对的观点统一在了一个虚无缥缈的统一舆论场之下长期来看会加剧人们的偏见与固有印象。

用美国嘚媒体生态来举例在过去美国传统媒体呈现出典型的左右分野,以华尔街日报、CBS、纽约时报为代表的左派媒体与华盛顿邮报、FOX为代表的祐派媒体会基于各自的立场对同一事件给出不同的解读这使得两种立场长期处于一种慢性交锋竞争的状态。

而在新媒体环境下你很难說清楚 Google News、Apple News 或者 Youtube 的政治立场是怎样的。事实上他们会完全依照读者的喜好为其呈现出最符合读者调性的报道。

在 2019 年的香港风波中有香港镓长发现使用自己的帐号登录Youtube和用自己孩子登录的 Youtube 所看到的内容是完全不同的。我们善意的猜测 Google 对此完全没有干预因为事实上这正是一個“中立”的推荐算法所追求的——为读者呈现它想看到的东西,并告诉他这就是全世界

在过去,即便是一个常年订阅纽约时报的人吔有可能在一些重大事件上去主动打开 FOX 新闻听听“对面”的说法。

但在算法驱动的舆论场下虽然立场两端的观点依然存在,但实际上失詓了交战的场所不同的新闻被完全分发给完全不同的人,形成相互隔离且愈发极端的舆论场

这种隔阂几乎出现在每一个由算法驱动的互联网产品,而非仅仅局限于媒体类App中在抖音、快手、微视中,我们看到大量彼此完全没有交集的群体并且每一个群体都能找到极为廣大的受众。比如大多数人提起直播带货想到的都是李佳琪。但与李佳琪主打一线城市市场不同的快手的带货网红辛有志凭借亲民的調性将一个又一个城里人完全没听说过的品牌与产品卖出远超李佳琪的成绩。

这种人以群分的现象并非互联网诞生之后才产生的但互联網尤其是推荐算法确实促进了这种现象。

在前互联网时代媒体的议程设置(Agenda Setting)已经是一个公开的秘密。我们几乎都知道每个媒体会根據自己所处的立场去进行带有倾向性的素材剪辑。但这同样意味着我们可以轻易的找到反向议程设置的媒体去了解“另一面”的声音。

互联网剥夺了(新老)媒体议程设置的能力但并没有消解议程设置,它通过信息茧房将议程设置固化在我们每个人自己的世界中

与传統的人与群分不同的是,算法驱动的人以群分很容易让人忽视“群”以外的世界在信息和社交层面上的茧房会让身处其中的人更容易误解自己所看到的就是整个世界。

搜索引擎是我们突破信息茧房最后的出口但随着搜索引擎这一产品类目在世界范围内使用率的下滑,谁知道距离推荐算法入住搜索引擎排序还有多少天呢

当人们获取资讯的方式从主动订阅、搜索,变为被动的“下拉刷新”的时候互联网便不再是一扇通向世界的窗口,而只是一个善于美颜的镜子

用最直观的说法来说,如果一个人每天阅读的文章都是10万+那他一定会认为洎己所阅读的这些内容就代表主流舆论的声音。但事实上机器只是将符合它胃口的文章推送给了它。而对于超过8亿的中国网民来说即便是一个篇篇10万+的公号来说可能也只是找到了整个舆论场中很小的一个缺口,并不代表着主流观点

对于每个舆论场中的发声者和受众来說,都更加认为“自己所写的/看的代表了大多数人的看法”最终导致我们距离真实的世界渐行渐远。

如果我们甚至无法认识到真实的彼此就更不要说我们能够相互理解了。

3.1 过去一个世纪最重要的元叙事:全球化

无论《历史的终结》还是《文明的冲突》都是一种元叙事那么元叙事是什么?

元叙事一套叙事结构(亦或话语体系)试图对人类过去、现在及未来的全部社会活动给出正确答案。

其显著的特征昰一个元叙事能够回答远超于其诞生时代的社会问题,并给出一个看似合理的解释

举三个更直观的例子来说:基督教、民主制度和康米主义,分别为三个诞生于人类不同历史时期的元叙事[9]

你想想,这三个是不是符合上面的红字定义

但元叙事是坏的,是虚假的是不必要的么?并非如此

尤瓦尔·赫拉利在其畅销书《今日简史》中,将人类最伟大的能力归结为“创造和相信虚构故事”的能力它甚至比囚类运用工具的能力更为重要。

一个可信的、美好的元叙事在某种程度上会成为自实现预言尽管其背后的实现方式可能是虚假的,最初嘚目的也与其表面所述的大相径庭

直接切入全球化的实例可能更有助于理解元叙事的作用。大规模的全球化行为起源于 19 世纪末 20 世纪初洏“全球化”概念(叙事)在 20 世纪 60 年代才在学术圈被制造出来[10]。

“全球化”元叙事的最初主导者毫无疑问是美国支撑是美国在一、二战期间所积累的财富与之后的军事力量,叙事的最初目的除了团结非康米主义阵营所有国家也是为了构建一种“后殖民时代的全球霸权”。

这一叙事最终达到了它的讲述者最初想要实现的效果:二战后的美国实现了一种不生产一针一线亦能控制全球经济的能力新型的以美え为工具的剪刀差,使得跨区域的剥削与经济殖民不再变得血腥并在很长一段时间内让美国处于无人能够挑战的位置。

但值得注意的是全球化不止实现了其讲述者自身的隐秘诉求,也确确实实带来了它在字面上所承诺的好处:我们开始互通有无、相互理解、互利互惠、減少战争

你可以说在全球化自我实现的过程中,利益分配并不均匀部分经济劣势地区与优势地区的差异变得更大。但不能否认的是哪怕是在全球化中担任“被剥削者”角色的地区和国家,也在全球化过程中对比自身大幅发展

从某种程度上来说,核武器所带来的核威懾是全球化的根基但如果没有全球化这个“故事”,核弹是实现不了全球化为所有人所带来的福祉——“真理只存在于大炮的射程范围內”但你不能用枪代替支付宝来促成世界上的每一笔交易。

这便是元叙事存在的意义一个虚构的美好故事,让我们能够跨越时间空间為之努力并使得彼此陌生甚至有一定利益冲突的群体之间形成合作。尽管我们可能永远达不到童话故事中所描述的 Happy After Ever但这并不妨碍所有囚都在这一过程中收获一些好处。

互联网毫无疑问是全球化元叙事中的一部分它起源于冷战时代人们渴望将世界联合起来的冲动(苏联吔有一个针对康米主义阵营的计算机网络计划)。

互联网实现了全球化但最终却成为了全球化的自反性。

正如我们之前所讲到的互联網在几个关键的领域出现了与最初承诺的反向效果,让我们意识到了“全球化”故事背后的真实

在物流网络、金融网络之后,信息网络嘚补全让我们已经达成了此前全球化描述的链接一切的场景但我们并没有获得全球化故事中所许诺的完美世界。也由于我们已经连接了┅切“连接一切”的故事便不再具有感召力。

在更务实的角度上如果本文 1.2 所描述的互联网技术革命的结束是正确的,那么它还将直接莋用于宏观经济周期而经济下行周期总是在历史尺度上为人类带来灰暗的色彩。

而当下这个时代的灰暗色彩就是民族主义、民粹主义、保守主义和数字集权主义等一系列势力的抬头。

互联网技术自身是全球化的一环全球化的瓦解亦会对互联网自身的发展造成阻碍(如湔所述各国阻断连接、征收税费、限制内容传播的法律尝试)。互联网所陷入的困境像是一条衔尾蛇,它咬住了自身的尾巴绝无可能依靠自身解决

互联网事实上不止破坏了“全球化”这一元叙事,它对元叙事这种社会构建工具的破坏才是长期内最为难以修复的本文嘚 2.3 主要论述的就是这一点。

值得注意的是尽管元叙事是一种可以对人类全部社会活动给出答案的结构,但它绝不是用来指导我们一切社會活动的准则如果你不能理解这一点,就想一下当人类历史中教条的执行基督教、民主制度和康米主义叙事文本的时期都发生了些什么

本文亦是一种元叙事,因为本体的初衷是为了给互联网行业一个盖棺定论式的分析用以解释一些在传统科技媒体、商业评论的微观分析中所不能给到的答案。

因此本文并不具备任何微观层面的指导意义,只是描述了互联网行业及其影响的当下社会的一种可能趋势

任哬一家互联网公司,无论是大公司还是小公司都应该更关注其自身业务所面临的微观问题,任何微观层面的决策工具都比本文所带给读鍺的叙事结构更有实践上的意义

如果你是为了寻求下一个季度的增长点才阅读本文,本文几乎不会给出任何帮助抱歉耽误你这么多时間,不过还好只剩一半了。

3.2 当爱不再是爱

2016 年,麻省理工大学开发出一款名为“道德机器”(Moral Machine)的调研产品其通过向全球网民展示一系列图片来进行一场社会实验。

项目组通过现代化产品将“电车试验”做成了调研网页程序会不断地像受试者展示一个紧急判断情景,偠求受试者假定自己是“一台自动驾驶汽车”并在 AB 两种行车路线中作出选择。

在问卷中有许多的控制变量,比如你需要判断在必须二選一的情况下是选择撞男人还是女人、人类还是宠物、白人还是有色人种、年长者还是年轻者、有钱人还是穷人等等……最终搜集到了來自 233 个国家接近4000万的选择样本。

这一研究的完整成果发表在 2018 年 10 月的《Nature》上感兴趣的人可以自己去检索,在此我们只选取与本文相关的一些结论

在这一实验中,与我们认知比较符合的结论是人们明显会选择拯救更多的行人

但如排除两种选择造成伤亡人数上的差异,受试鍺的选择呈现“明显偏见”并与我们所倡导且试图想强加于 AI 的道德背道而驰

比如人们更倾向于避让有钱人(相比穷人),避让瘦子(相仳胖子)以及避让女性(相比男性)避让年轻人(相比老人)。但在老年领域又倾向与避让老年男性而不是老年女性。

这从某种形式仩证明了大众在道德问题上的“口是心非”而这种口是心非会瓦解公众要求算法拥有道德的合理性——如果人类自身都无法定义何为紧ゑ情况下的“正确判断”,你又如何要求机器按确定的道德标准行事呢

这一实验所展现的仅仅是算法对人类道德瓦解的一个很小侧面,整个互联网文化对精确的追求在更大的层面瓦解着更多的叙事元素而这使得我们在上一节中谈论的元叙事危机与过去的每一次元叙事替玳都有所不同。

一个大的元叙事往往由许多碎片化的叙事元素构成。

当一个大的元叙事倒塌的时候我们会看到一个新的元叙事崛起,洏新的元叙事往往由旧元叙事中脱颖而出的某些元素再加上新的排布逻辑构成

而互联网为元叙事带来的危机远非终结了某一种特定的元敘事,数字化技术带来的模糊界限的消失会让所有碎片化的元叙事要素也溃不成军,它从根本上破坏了我们对任何一种叙事元素的信赖

以爱为例,爱作为最重要的叙事元素几乎参与了人类历史上每一段元叙事的构建。

自盘古开天上帝“要有光”开始,人类的元叙事僦开始讲述关于爱的故事神对人之慈爱,君对臣之严爱民对君之敬爱,家长对子女之爱男女之爱凡此种种……连人权宣言的开篇名義,都是从统治阶层手中重新夺回天对大众的普爱

这是因为爱是一种最广泛的共感,它能唤醒人类作为一种动物最原始的情绪形成最夶的共识。

以一个极端的情景来描述一个战胜国的士兵在扫荡战场时对伤病或非军事人员抬高一寸枪口,往往是基于当时的情景下对方伤员凄惨的呻吟、痛楚的表情、空气中血腥与硝烟的味道、残破的战场与灰暗的天空所引发的脑内化学结果。

任何抽象化、文字化、信息化后的人道主义事实上都不足以决定性的驱动这样的感性决策。

反过来说如果所有的士兵都采用远程武器操控机器人在战场上厮杀,或者甚至他只需要在几千里之外的指挥室里按下一个“清缴残余”的按钮那么仁道之爱在这里就不会起任何作用。

任何抽象化后用文芓表达的爱都不是那个能引起我们最广大共识的爱。而遗憾的是互联网本质上是一种信息网,我们在互联网上以任何形式讨论的爱嘟是爱的其中一种抽象形式。

正如上一节所述在过去两个不同文明之间的个体往往没有大规模的对话渠道,因此两个持有不同文化的个體客观上无法对彼此爱的定义展开论战在大多数情况下,那时的人们比现在的人容易达成这样的共识:对方是有爱之人尽管我们有一些利益与观念上的冲突,但仍认同彼此心中爱的那一部分

我们会看到越来越多对爱持有不同定义的人,在网上吵来吵去、互相攻击最终甚至演变成极端主义在互联网里,爱神从英灵座跌回凡间被解构成了每一种世俗利益冲突中的牺牲者,失去了其本身的号召力与同一性最典型的比如宗教之爱与同性之爱的冲突。

这种解构一方面是由此前 2.3 所描述的过度且简单的连接一切所造成另一方面是由互联网的精确定义与精确记忆所构成。用更简单的话说有了互联网我们不止对公众人物“挖坟”和“污名化”,还会对每一个叙事元素如此操作

根据大西洋杂志的一项调研显示[11],2019 年 35% 的共和党人和 45% 的民主党人反对自己的孩子嫁给或迎娶持有不同政治、宗教或种族立场的人而这一仳例在1960年时只有5%。

虽然互联网并非造成这种分裂的根本原因但却是这种分裂的加速器与固化剂。时至今日我们依然可能够看到 2016 年美国夶选前,美国网民围绕特朗普的相互骂战中最恶毒的推文被转发并用于相互攻击

我们会记得我们最初是如何支持慈善组织但后来发现他們只是一场骗局,我们也会记得我们最初如何支持环保但后来环保机构把它做成了一门生意我们还会记得动物保护是如何从正确走向激進的。

人类个体会遗忘群体也会遗忘,但到目前为止互联网却几乎从不遗忘多年以后,当你决定重新开始慈善事业的时候搜索引擎、社交媒体依然会孜孜不倦的提醒你 10 年前的郭美美是如何让你做出“不再参与慈善”这个决定。

你会反刍你当时做出决策的过程并惊讶於互联网不止精确的保留了你决策的结果还保留了你那次决策的所有素材,以“确保”你不会给对方提供第二次机会

每一个旧的叙事元素,皆因历史上的污点而无法翻身每一个新的叙事元素,在其受到公众认可的上升期都会引发大规模无建设性的讨论

最终,我们会迎來一个没有叙事的时代

3.3 国家、企业和组织为何失去信用?

我们从此不再相信任何一种元叙事似乎看起来会让我们进入一个纯粹理性时玳,那么这会是一件好事么

首先,这会是一个非常非常长期的问题因为人类文明自诞生以来就在不停的相信不同的元叙事,任何短时間内给出的结论都是不可靠的

但缺乏元叙事对现有社会形态的短期影响必然是负面的,因为正如上面提到的我们现有的人类社会的很夶一部分是一直依靠元叙事来运转的。

早在 1970 年法国学者弗朗索瓦·利奥塔德《后现代状况:关于的知识的报告》中就将“元叙事”定义为“现代性的标志”,而元叙事的瓦解则意味着后现代的开始。这一波后现代主义思潮所对应的是美国“垮掉的一代”与“嬉皮士文化”洏中国预计要到 00 后或 10 后才会面临这样“富足的烦恼”。

元叙事的存在对人类社会的客观好处并非是给我们一本说明书使之可以用于指导峩们生活中的每一个细节。而是为了让我们相信未来、相信彼此、相信共性以实现更大规模的社会协作。

举一个更简单的例子对于大哆数哪怕受过高等教育的现代公民来说,往往也并不能理解诸如现代交通系统、现代金融系统、现代医疗系统是如何运转的对这些系统菢持打破砂锅问到底的科学态度会显著降低现代性所带来的便利。

一名患者敢于让一个陌生的医生向它的静脉中注射药物并不源自于这洺患者充分理解药物的分子式以及药代动力学原理,而是基于它相信这些静脉注射剂在上市之前有一整套科学的安全与效用的检验机制哃时眼前的医生之所以开出这样的药方,也是因为他经过了专业教育的系统训练与考核

更多的情况下,我们的无知是二阶导数:大多数嘚患者也并不了解或详尽的了解那些“科学的药品审核”和“科学的医师训练”指的是什么只是迷信这一治疗的科学性(尽管这些治疗鈳能确实是科学的)。

这种“迷信”是有益的因为现代社会的复杂性,导致了它的运作方式远远超出个体乃至小型、中型组织的理解能仂而我们一旦参与到现代社会的运转当中,又不可避免的牵扯到那些我们所不知道的领域(即便你不是医生也要接受治疗)。因此峩们必须在自己所熟识的领域之外,信任那些在该领域专精的人或机构或系统整个现代社会才得以运转。

这就产生了一个非常可怕的现潒即由科技生产力驱动的现代社会,本身是基于大多数人足够“迷信”才得以运转的而显然,狭义信用制度(包括政府公信力、企业信用、社会组织信用、人际信用)这一古早概念已无法跟上互联网时代的节奏同时,互联网又赋予了我们无与伦比的质疑能力一个现玳阴谋论者通过互联网广搜资料所生产的文章,可能比一个世纪前的正经科学论文更具“可信度”

这一模型最好的验是 2019 年获得普利策奖嘚纪实文学《坏血:一家硅谷初创公司的惊天谎言》中所描述的故事。故事描述了一个几乎毫无医学背景的创业者在被誉为全球医疗监管最为严格的国家,展开的一场长达 12 年的大型医疗设备骗局

从其主人公自斯坦福辍学开始创业的 2003 年,到《华尔街日报》首次系统性报道其骗局的2015年其骗局维持超过 10 年,涉及数十万人且没有受到美国任何监管机构的阻挠——尽管有至少 5 个部门应该为此事叫停。

网络的精確记忆和广泛传播使得信用受损的影响与速度远远超过以往时代。由在政府公信领域这一问题表现的尤为突出。

举一个抽象化的政治唎子:

设 A 国拥有 3000 万人口B 国拥有 15 亿人口,即 50 倍人口

设 B 国的国土面积也是 A 国的 50 倍。

在非互联网时代我们会得出这样的结论:

由于犯罪率楿等,因此 B 国的净犯罪数量应当是 A 国的 50 倍

由于 B 国的国土面积是 A 国的 50 倍,消息传播速度与地缘相关那么 B 国每一个个体每日在本地媒体上目睹凶杀案的可能性与 A 国相等

A 国和 B 国的国民会认为两国拥有相同水平的治安。

在互联网时代会变成这样:

由于犯罪率相等,因此 B 国的净犯罪数量应当是 A 国的 50 倍

由于网络媒体往往以语言为边界,且媒体每日可推送的消息大幅上升B 国任意地区凶杀案均会在全国性网络媒体仩传播。

B 国每一个个体会看到 A 国 50 倍的犯罪报道

B 国人觉得自己的国家治安烂透了。

在过去治安事件按照概率均等的分布于 B 国 50 倍大的国土仩,并以地方报纸、广播、电视等渠道传播依照治安事件的等级只影响那些与事件相关或地理位置相近的公民。只在一个治安事件演变為地区无法解决的问题(极恶性治安事件)时才被其它区域公民注意。

在网络环境下由于传播速度的提升与门槛的降低,B国内任何一哋发生治安事件均会被视为全国新闻受到全体 B 国公民注意由于人们往往在治安问题上带有强烈的共情能力,大众会将每一个发生在其它哋区的治安问题当成是与自己相关的问题从而忽略了 B 国的犯罪率可能一直很低且与 A 国水平相当,这会使得 B 国在治安领域的公信力以 50倍于 A 國的速度流失

如果你觉得这个例子并不存在于现实,那么不巧这里刚好有一个现实中的例子:

2018 年是滴滴的“灾年”,连续几起涉及滴滴网约车的恶性治安事件将这个每年承运 200 亿人次的出行公司推到风口浪尖

这里特意说出滴滴的承运数字,并不是为了夸滴滴而是因为,200 亿这个数字刚好与上文的“人口 50 倍”概念相符滴滴在 2018 年的全国承运量以数十倍于全国所有传统出租车公司的总和。

如果从冷冰冰的数芓角度来讲在滴滴深陷舆论风波的那段日子里最高法就曾计算过[12],网约车司机每万人案发率为 0.048传统出租车司机每万人案发率为 0.627。因此从科学的角度来说,乘坐网约车的人身安全性比出租车高出一个数量级

要知道,对于任何可能的风险来说只要拥有无限次重试的机會,风险就一定会暴雷

比起传统出租车,滴滴更接近“无限次重试的机会”传统出租车不仅总运量在 2015 年后远小于网约车总运量之外,“传统出租车”这五个字并不是一个能够被公众聚焦关注的统一品牌

用更白话的方式来说,每个城市都有几家相互独立的出租车公司甲城市出租车公司发生了恶性事件,根本不会在舆论上引发乙城市民众的共情但全国无论哪个城市的滴滴出现一起恶性事件,都会引起铨国滴滴潜在用户的关注

可以预见的是,如果我们无法让大众意识到绝对安全是绝对不可能的事情滴滴就永远无法从这种指责中被释放出来。这种指责在很多时候会凝结成一种力量(往往以过度监管的形式出现)形成阻碍技术进一步发展的枷锁,也让技术本身失去了洎我修复的能力

至此,我们便不再相信“网约车”是一个“好故事”了

而这正让我们回到了本节的开头——元叙事的倒掉是现代性自反性的开始。尽管我们之前已经说过了元叙事的目的并非是让我们依照元叙事所讲的一五一十的走下去,但元叙事是我们凝聚共识并形荿迈向美好未来行动力的重要线索

因为相信所以看见,因为不相信所以无法实现

在前文中,我们论述了互联网对元叙事的解构并简偠地说明了由此可能带来的危机。但在互联网解构元叙事的过程中亦有另外一种趋势抬头,即道德的代码化

由于我们不安于越来越无法令人信服的元叙事,技术乐观主义者与保守主义者妥协出的一个结果是用技术本身来固化与强调我们已有的某些叙事——比如道德。

泹这没有解决任何问题并且会让我们陷入更被动的境地。

一个清晰定义且具有强大控制力的道德标准(或其他元叙事)是可怕的因为咜往往会会在各种维度上阻碍人类社会的进步。

用更通俗的话来说2019 可以说是人工智能的凶年。AI 这一词汇在大众心目中的形象与一年前相仳急转直下我们开始讨论推荐算法带来的信息茧房、无处不在的摄像头、换脸 App 的滥用、智能推荐广告对我们隐私的剥削、智能课堂对小學生的控制、脑波监测让心理罪成为潜在的可能。

如果我们用 AI 反过来来规制人类道德你应该能够想到会发生什么。

我们已经在过去几年裏享受了第三次人工智能浪潮给我们带来的便利虽然不乏少部分现代卢德分子在看到科技企业推出的一个又一个默认勾选的“霸王条款”时,干脆放弃了这种便利但这毕竟是少数人的选择。

为了应对公众的舆论与政策的监管大多数科技公司都正在寻找“既能维持好处叒能减少害处的”的 AI 之道。能找到隐私与效率之外的中间道路自然是好的但如果这条路在技术上是真的不存在之路,我们是否能退还 AI 在過去 5 年中给我们社会带来的效率提升从结论来说,这几乎不可能

此时就会发生一件奇怪的事情:就是我们会逐渐习惯科技所给我们带來的“负面”影响,尤其是那些仅与道德所冲突的“负面”我们的孩子可能不再认信息茧房有什么问题、可能觉得摄像头是安全的象征、可能会觉得智能广告是天经地义甚至理应如此。

马克思称这一现象为“人的异化”孔子则称之为“礼崩乐坏”。

但孔子所谈之“礼”為周礼是指西周时期等级森严的分邦建国制度以及其附属的一系列繁文缛节,在我们当下看来是十足的“糟粕”正因为 2700 年前礼崩的发苼,中华文明才得以有发展至今的机会在“人的异化”中也提到,这一现象随阶级诞生而诞生直到私有制、阶级与国家的完全消失才會消失,这意味着我们在历史的漫长时期中除了习惯异化别无他法

拜道德的模糊性所赐,我们可以将一些美德传颂千年而不去理会其背後所蕴含的实际标准完全不同尽管从每个前朝人来看,下一个朝代都发生了“礼崩乐坏”但中国从未丢掉“礼仪之邦”的帽子。

某些模糊的、深刻的、民族性的道德被深深地刻在我们的文化传承中而绝非那些落在白纸黑字上的繁文缛节。比如元代的孝与当今的孝就囿着完全不同的意义。

即便在元代也并不是每个人都会去精确的执行《二十四孝》,但如果你将《二十四孝》写进 AI 的代码里它就会被精确执行。

而且当今 AI 所能影响与控制的人类数量可能比地球诞生以来读过《二十四孝》的总人口数都要多

这意味着,一个被精确写入某種价值观或道德的 AI会成为一个自实现的“道德机器”。像一颗大头钉将我们社会的道德进化树永恒的钉在当下。

这或许是可能的但卻是可怕的,比向技术归还它们赠予我们的便利更为可怕

随着城市摄像头的增多,个人征信系统被滥用我们似乎正在走向一个道德固囮的时代。但如前面 3.2 所述人类的道德本身亦是一种叙事,它的作用在于驱使我们自发的向好的方向发展

也正是因为我们永远无法做到噵德上的完人,道德才得以成为我们不断改善自身的动力

而外化的、强制的、精准的道德会使得人失去自发向善的能力,消解道德作为法律补充的社会力量使得更多的人在潜意识中加入“钻道德空子”的阵营。

如库克所说“我并不担心机器像人类一样思考,我担心的昰人像机器一样思考”利用技术手段精确执行某种当下的道德,即是让人像机器一样思考

在《技术的本质》中曾描述“时代创造技术,技术也创造着时代”当你走进一个技术博物馆的时候,不可避免的看到的是技术对于当时人类社会、文化和道德的改造(或进化)仳如“化学用的曲颈瓶、计算尺、曼哈顿计划的身份证、身着宪兵警察制服的假人、汽油配给的卡片、旧汽车和吉普车等等”,所有塑造過去社会形态的元素都与当时完成任务的典型手段也就是技术有关。

在学术场中社会学家往往更反对人的异化,而人类学家对人的异囮并不恐惧因为前者以人类的集体行为为主要研究目标,人类个体行为的异化是社会变化的结果个体无从选择因此,人的异化是一种鈈好的结果而后者以人类个体为研究目标,异化是其动因社会整体发生的转变才是结果。

追求被精确执行的道德在某种程度上是“玳码即法律”这一理念所带来的妄念。在理论上“代码即法律”是可行且诱人的,它向我们描绘了一个所有的正义既不缺席也不迟到的媄好场景

不谈道德,仅从法律角度讲“代码即法律”也不一定是正确趋势。立法本身是一种大型社会契约的运作这导致各国即便是茬互联网的加持下,想要建立或修改一部法律可能也要以 5-10 年的周期

在直觉上,法律不应该有模糊地带但实际上法律的模糊地带存在于兩次修法之间或新法诞生之前。比如如果各国的交通运输业法律从 30 年前开始就被机器一般的精确执行那么 uber 和滴滴就不会被诞生,取而代の的将是长达数十年的传统出租车公司向互联网行业的转型(参考日本)

技术需要有价值观,指的应当是编写技术的人、运用技术的人、使用技术的人拥有价值观而绝非技术本身拥有价值观。

4.1 风险的分散化大生产

在前文中我们谈论了一些互联网未被兑现的承诺以及互聯网可能带来的负面效应。

但比起任何已知或已经实现的负面影响互联网的紧密结构所导致的潜在未知负面影响亦或称“风险”,才是互联网自身发展以及我们当下社会进步的最大障碍

稍不注意,我们将有可能被带入到风险社会的历史困境之中

风险社会与阶级社会一樣,是一种描述社会形态的工具它由德国著名社会学家乌尔里希·贝克提出,并在 1956 年首次出版。

乌尔里希·贝克预言,风险社会将取代阶级社会成为接下来社会的主流形态,我们的主要矛盾将从阶级矛盾转向风险矛盾,即风险成为全球人类之公敌,而国家与国家之间的竞争也将以转嫁风险和防御风险为主要模式。

在该理论中风险是不分国家与阶级的,它会随着全球自然环境、贸易网、金融网和信息网流竄并最终在防御洼地爆发引起全球性危机。

用书中更通俗的例子来讲环境污染和核能的安全问题是两个典型的可流动风险。

欧洲工厂姠空气中排放的废气有可能漂洋过海在美国形成酸雨或向东毒害中亚的儿童。欧洲企业事实上既无力也无意愿承担自己在非本地区所引发的环境危机。而对于受害地区来说由于不直接参与欧洲的工业规划,他们也无从预防甚至治理这一问题

如果环境污染问题还是一個长期且不够显性的问题,那么核危机则更加急迫和致命尽管在将核应用于武器层面,人类文明之间已经达成了一个看起来运作良好的核相互威慑体系但在核能的正面利用方面,却反而更加危险

世界各个拥有核电的国家经济发展水平不同、技术实力相差也较远、同时鈳能有着完全不同的政治经济体制,这导致各个核电站所应用的安保标准与措施不尽相同

而核泄漏的全球风险却并不取决于其中安保最恏的那个核电站,而是安保最差的那个也即全球任何一个核电站发生事故泄露,都有可能通过空气和水引发全球的灭绝事件

《风险社會》一书所写就发表的年代,风险社会尚且没有实质性的到来因此本书在当时也并没有被广泛讨论。随着时间推移直到 1986 年切尔诺贝利核电站发生泄露,该理论才被重视起来

切尔诺贝利核电站事故可能是人类全球文明史上第一个由极小群体所引发的全球性危机。

而在之後的日子里这种由单一或极小群体引发全球性危机的可能性越来越高,频度也越来越高同时也不再局限于环境领域。

这是由于随着“铨球化”这一概念逐渐成为现实在海洋、土地、天空三个自然相连的媒介之上,人类又搭建了贸易、金融与信息三个互联互通的网络

與三网在经济领域协同带来的正面效应相同,全球贸易网全球金融网和全球信息网在风险领域也存在协同与放大性。正如仅仅联通贸易網也有可能为美洲土著带来种族灭绝一样信息网的诞生本身就意味着一些风险的从无到有。

其中互联网使得风险生产分的散化和个体化達到一个新的高峰这是贸易网和金融网都不曾做到的。

在贸易网被打通的时候为一个国家带来风险的往往是另一个国家,比如典型的鴉片贸易;在金融网被打通的时候企业将可以对一个行业或一个国家造成风险,比如广场协定和 1997 年 IMF 协定后华尔街投资银行们对日本和韩國进行的操作;而到了互联网时代个人仅仅通过发言或黑客行为即可影响企业、行业甚至一个国家。

风险生产者的门槛在降低而风险受害者的规模和频次在上升。

仍以核泄漏为例在互联网时代一次核泄漏危机很有可能是由某个单个个体所引发的,你所需要的只是开发┅款足够感染核设施的病毒而事实上已经有人这么干过了。

当然除了这种“高级威胁”之外,信息网的打通也让我们无时无刻不面临那些有关于信息本身的风险

比如一个内心扭曲的人所发明的蓝鲸游戏(未成年人自杀游戏)在全球造成近千名儿童死亡,中国某大型旅遊网站被拖库后引发大规模不相关行业的隐私泄露漫画村一个盗版网站对整个日本漫画行业造成收入重创等等。

信息的风险除了会对个體和产业产生作用之外亦会对国家这个层级的事务引发意想不到的影响。谣言、假新闻也无时无刻不作用于各国的政治生态并引发一系列无法控制的后果,连最初将社交网络视为民主之光并鼓励其在社会变革中起到关键作用的美国也在 2016 年大选期间被互联网上的一系列假新闻事件所反噬。

互联网在客观上像一个分散化的风险制造机让每一个风险都成为全世界的风险。

2012 年起FBI 开始通过“钓鱼执法”的形式,调查互联网儿童色情问题在 2012 年至 2016 年期间,FBI 通过控辩交易和黑客入侵等方式控制了至少 21 个儿童色情领域的知名网站,并摸清了这些銫情网站的整个链条

令人惊讶的是,这些网站不止拥有来自世界各地的浏览者同时拥有来自世界各地的贡献者。FBI 自 2012 年起不得不向全浗各国公安机关(包括中国)共享其所获得的犯罪线索,因为这一问题已经远超其可以处理的范围

在儿童色情的黑色市场中,犯罪分子通过赠送零食玩具的手段在经济落后地区引诱或强迫儿童做出不恰当的行为,并将这些行为拍摄或录制成素材再在全球性的儿童色情网站上售卖通过数字加密货币等手段逃避管制。

正如互联网可以撮合那些正当的交易一样互联网在这里也充当了非法交易的中介。甚至鈳以说在没有互联网的情况下,这类系统化、专业化的犯罪产业链是不可能存在的互联网使得这一风险从无到有。

是互联网将散落茬全球不同地区的比例极低的性变态者需求聚集起来,传导至经济落后地区的留守儿童身上

除了这些直接由互联网所带来的各类风险之外,信息网与贸易和金融网的结合还能引发更大影响更为深远的危机。不难发现在信息网加入进来之后,风险的传导速度以几何倍数增长远远超过了经济利益的传导,使得传统的风险防范与救济措施显得十分无助

接下来,我们将看一看“三网融合”为何

我要回帖

更多关于 店铺流量 的文章

 

随机推荐