软件测试概述.docx
《软件测试概述.docx》由会员分享,可在线阅读,更多相关《软件测试概述.docx(19页珍藏版)》请在冰豆网上搜索。
软件测试概述
软件测试过程管理的原则有8个:
有关测试需求,测试计划先行,建立任务优先级,建立客观的
评估标准,尽早测试,全面测试,全过程测试,独立的、迭代的测试。
制定测试计划,要达到的目标有:
为测试各项活动制定一个现实可行的、综合的计划,包括每项
测试活动的对象、范围、方法、进度和预期结果;为项目实施建立一个组织模型,并定义测试项目中每个角色的责任和
工作内容;开发有效的测试模型,能正确地验证正在开发的软件系统;确定测试所需要的时间和资源,以保证其可获得
性和有效性;确立每个测试阶段的测试完成及测试成功的标准和要实现的目标;识别出测试活动的各种风险,并消除可
能存在的风险,降低那些无法消除的风险所带来的损失。
计算机软件测试规范规定,软件测试管理包括测试过程管理、配置管理和测试评审管理。
计算机软件测试规范规定,软件测试可分为:
单元测试、集成测试、配置项测试、系统测试
和验收测试。
其中配置项测试的目的是检验软件配置项和软件需求规格说明是否一致。
配置项测试的技术依据是软件需
求规格说明(含接口需求规格说明),一般由软件供方组织,由独立于软件开发的人员实施,软件开发人员配合。
若配置
项测试委托第三方实施,一般应委托国家认可的第三方测试机构。
软件配置项测试要求被测软件配置项已通过单元测试
和集成测试。
可靠性:
在指定条件下使用,软件产品维持规定的性能水平的能力;效率:
在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力;易用性:
在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力;功能性:
当软件在指定条件下使用,软件产品提供明确的和隐含要求的功能的能力。
独立测试是指软件测试工作由在经济上和管理上独立于开发机构的组织进行。
严重的错误,是指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明;致命的错误,是指造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等;一般的错误,是指不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好的实现功能,没有达到预期的效果;微小的错误,是指一些小的问题,对功能几乎没有影响,产品及属性仍可使用。
人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
单元测试的测试对象是实现了具体功能的程序单元,一般对应详细设计中所描述的设计单元。
·
一个好的设计应能预见各种出错条件,并进行适当的出错处理,即预设各种出错处理通路
集成测试中的逆向测试包括分析被测接口是否实现了需求规格没有描述的功能,检查规格说明中可能出现的接口遗漏,或者判断接口定义是否有错误,以及可能出现的接口异常错误,包括接口数据本身的错误、接口数据顺序错误等。
成对集成的思想就是免除驱动/桩模块的开发,使用实际代码代替驱动模块和桩模块;三明治集成:
把系统划分成三层,中间一层为目标层,测试的时候,对目标层上面的一层使用由顶向下的集成策略,对目标层下面的一层使用自底向上的集成策略,最后测试在目标层会合;相邻集成就是对每个邻居建立并执行一个集成测试会话。
软件性能测试的分类:
性能测试、并发测试、压力测试、可靠性测试、负载测试、配置测试、失效恢复测试。
·
)软件性能测试的目标:
发现缺陷、性能调优、能力检验与规划。
人们通过软件运行剖面来刻画软件实际运行情况。
对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。
可靠性测试的目的是进行软件可靠性的预测
在设计每个类的测试用例时,不仅要考虑调用各个成员方法的输入参数,还要考虑如何设计调用的序列,而有的测试序列会在某些成员方法执行时因为不能满足方法正常执行的前提条件而导致方法处于不正常的工作状态,这些测试序列不是合理的测试序列。
类B继承类A,合理的使用继承时类B的实例应该也是类A的实例,对类B的实例的测试应该已经包括其作为类A实例的测试,但如果继承使用不合理,还需要按照类A的规格说明对类A重新进行测试。
等价类划分是一种方法层次的测试。
大突击集成只进行一轮,无需进行增量式集成;与大突击集成相比,自底向上集成中测试的充分性容易得到保证;基干集成的优点是:
集中了自底向上集成、自顶向下集成和大突击集成三者的优点,而对三者的缺点也进行了控制,更适合于大型复杂项目的集成。
集成策略需要关注如何充分测试类间的各种连接。
)Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。
Web应用软件的系统测试包括性能测试、易用性测试、内容测试、安全性测试、接口测试等;功能测试包括链接测试、表单测试和Cookie测试。
安全性测试包括服务器端的内容安全性、客户端的内容安全性、Cookie安全性和日志功能;性能测试包括并发测试、负载测试和压力测试、配置测试和性能调优。
·
易用性测试包括易安装性测试、功能易用性测试以及用户界面测试;易安装性测试包括安装手册的易用性、安装的自动化程度、安装的灵活性、安装中断的处理、修复安装和卸载、多环境安装的支持;功能易用性测试包括业务符合度、功能定制性、功能的关联度、数据的共享度、用户约束的合理度;用户界面测试包括界面整体测试、界面元素测试、输入测试。
A选项属于界面整体测试的合理性测试;B选项属于易安装性测试;C选项属于功能易用性测试的功能定制性。
D选项是在静态关联下具有的。
·
与其他软件的兼容性包括与其他支撑软件的兼容性、与其他同类软件的兼容性和与不同类软件的兼容性。
同类软件间的互操作:
当存在多个同类软件时,用户一般希望它们之间可以互操作,用户因此可以充分利用各个软件的优势;不同类的软件间通常不存在交互和冲突,因此通常不存在兼容性的问题,但对于一些特殊情况需要加以考虑。
软件测试设计的要点:
所设计的测试技术方案是否可行,是否有效和是否能达到预期的测试目标;所设计的测试用例是否完整,边界条件是否考虑,其覆盖范围能达到多高;所设计的测试环境是否和用户的实际使用环境比较接近;白盒测试的用例设计的方法:
采用逻辑覆盖的结构测试用例的设计方法;基于程序结构的域测试用例设计方法;数据流测试用例设计方法;根据对象状态或等待状态变化来设计测试用例;基于程序错误的变异来设计测试用例;基于代数运算符合的测试用例设计方法。
测试开发是测试用例设计的一部分工作内容。
测试项目结束的阶段性标志是将测试报告或质量报告发送出去,并得到测试经理或项目经理的认可。
需要完成的管理操作:
①审查测试全过程。
在原来跟踪的基础上,要对测试项目进行全过程、全方位的审视,检查测试计划、测试用例是否得到执行,检查测试是否有遗漏。
②对当前状态的审查。
包括产品缺陷和过程中没有解决的各类问题。
对产品目前存在的缺陷进行逐个的分析,了解对产品质量影响的程序,从而决定产品的测试是否能告一段落。
③结束标识。
根据上述两项的审查进行评估,如果所有测试内容完成,测试的覆盖率达到要求以及产品质量达到已定义的标准,就可以定稿测试报告。
④项目总结。
通过对项目中的问题分析,找出流程、技术和管理中存在的问题根源,避免今后再度发生并获得项目成功经验。
如果仅执行自动测试,而不进行自动比较,就不算是自动化测试;自动比较的内容可能是多种类型的:
文本信息、专用格式化数据、屏幕输出内容、电子邮件信息、发送到硬件设备的数据或信号、通过网络发送到其他机器和进程的信息、数据库的内容等;自动比较的局限性在于办公自动比较可能没有人工比较灵活。
回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,并测试软件变更之后,对软件原有正确的功能、性能和其他规定的要求不产生损害。
在变更之后,首先应对变更的软件单元进行测试,然后再进行相关的测试;软件测试规范规定,对具体的软件可根据软件测试合同及软件的重要性、完整性级别的对上述各类软件测试的内容进行裁剪。
验收测试是以需方为主的测试,其对象是完整的、集成的计算机系统。
验收测试一般由软件的需方组织,由独立于软件开发的人员实施。
如果验收测试委托第三方实施,一般应委托国家认可的第三方测试机构。
软件验收测试的技术依据是软件研制合同。
其测试工作应满足被验收测试的软件已通过系统测试。
验证与确认的主要活动有关键性分析、可跟踪性分析、评估等,这些工作分布在软件开发的各个阶段。
接口分析主要是看程序模块或子程序之间的调用是否正确。
负载测试目的是探测软件处理能力的极限,压力测试目的是利用压力揭示潜在缺陷。
极限检测是对极限编程软件的测试
技术文档不是测试环境组成要素
国家标准《GB/T155322008计算机软件测试规范》第4.5.1节测试用例设计原则:
a)基于测试需求的原则。
应按照测试类别的不同要求,设计测试用例。
如,单元测试依据详细设计说明,集成测试依据概要设计说明,配置项测试依据软件需要规格说明,系统测试依据用户需求(系统/子系统设计说明、软件开发计划等);
b)基于测试方法的原则。
应明确所采用的测试用例设计方法。
为达到不同的测试充分性要求,就采用相应的测试方法,如等价类划分、边界值分析、猜错法、因果图等方法;
c)兼顾测试充分性和效率的原则。
测试用例集就兼顾测试的充分性和测试的效率;每个测试用例的内容也应完整,具有可操作性;
d)测试执行的可再现性原则。
应保证测试用例执行的可再现性。
·
接口分析的目的是评估软件交付物是否正确、一致、完整和准确地说明了接口需求。
接口分析必须关注三种接口:
用户接口、硬件接口和软件接口。
场景测试方法是基于IBM推行的RUP的测试用例生成方法。
该方法从系统分析的结果——用例出发,通过对每个用例的场景进行分析,逐步实现测试用例的构造。
内部边界值测试可以用来发现一些内部错误,如误把“<”写作“<=”。
但内部边界值测试应作为一种补充方法,在其他方法的最后使用。
功能测试主要是为了发现以下几类错误:
是否有不正确或遗漏了的功能;功能实现是否满足用户需求和系统设计的隐式需求;能否正确地接受输入,能否正确地输出结果。
静态错误分析有以下几种:
类型和单位分析,引用分析等,其中在静态错误分析中,最广泛使用的技术就是发现引用异常。
语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。
规范导出的测试是根据相关的规格说明书描述来设计测试用例的。
每一个测试用例用来测试一个或多个规格说明的陈述语句。
规范导出法就是根据陈述规范所用语句的顺序来相应地为被测单元设计测试用例。
自底向上的增量式集成的目的是从底层构件开始,按照模块调用图的结构,逐层向上集成,以检测整个系统的稳定性。
对于具有如下属性的产品,可以优先考虑本集成测试策略:
采用契约式设计的产品;底层接口比较稳定的产品;高层接口变化比较频繁的产品;底层模块较早完成的产品。
软件可靠性测试的目的是收集软件测试时软件故障的情况,并对其进行整理从而为分析和预测软件的可靠性提供帮助。
对于具体每个测试用例的设计,可靠性测试需要的测试用例与普通的软件测试并无不同,关键是要保证用于可靠性测试的测试用例集要完全符合运行剖面的定义。
因此,此时的测试用例的设计可以完全在运行剖面的指导下进行。
所谓大突击集成就是将系统的所有组成成分都集成在一起进行测试。
与其他集成策略不同的是,大突击集成只进行一轮,无需进行增量集成。
对Web应用软件而言,Web服务器,中间服务器和数据库服务器的配置都可能影响其性能。
与手工相比,使用软件的一个主要优点是能够减少重复的输入,从而保证数据的一致性。
数据兼容性测试包括两类:
不同版本间的数据兼容性和不同软件间的数据兼容性。
制定测试计划,要达到的目标有:
为测试各项活动制定一个现实可行的综合的计划;建立一个组织模型;开发有效的测试模型;确定测试所需要的时间和资源;确定测试过程中每个测试阶段的测试完成标准和要实现的目标;识别出测试活动中各种风险,并给出风险应对措施。
自动测试工具不是智能测试工具,而是再测试工具,即回归测试工具。
静态错误分析主要用于确定在源程序中是否有某类错误或危险结构。
它有以下几种:
类型和单位分析,引用分析,表达式分析,接口分析。
系统测试与单元测试,集成测试的区别在于测试方法不同:
系统测试一般采用黑盒测试方法;单元测试一般采用白盒测试方法,辅以黑盒测试方法;集成测试主要采用黑盒测试方法,辅以白盒测试方法。
软件质量是表征软件产品满足明确的和隐含的需求的能力的特性或特性的集合,它除了关注“明确的需求”外,还扩展到了“隐含的需求”。
软件质量是各种特性的复杂组合,定义一个软件的质量,就等于为该软件定义一系列质量属性。
对于A项,软件测试贯穿于软件开发的整个过程,其功能是验证软件的功能是否按照预先的设想执行的。
对于B项,一个成功的软件测试是发现了以前未发现的错误的测试。
对于C项,根据80/20原则,如果发现一程序模块似乎比其它程序模块有更多的错误倾向时,则应当花费较多的时间和代价测试这个过程模块。
白盒测试是程序员在编程阶段对每个程序单元进行测试的最有效的测试类型,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
数据流可看作是一种路径测试,它主要关注在一条路径上变量在何处定义,在何处使用,它是一种白盒测试方法。
走查人员走查产品并且准备在走查会议上讨论他们对产品作出的评注、建议、问题,同时,协调人员指定一个测试组,为被审查程序准备一批有代表性的测试用例,提交给走查小组,在大多数的走查中,很多问题是在向程序员提问过程中发现的,而不是由测试用例直接发现的。
软件测试的不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试活动就可以开展。
路径覆盖就是设计足够的测试用例,执行程序中所有可能的路径,尽管路径覆盖比判定/条件覆盖更强,但路径覆盖并不一定包含判定/条件覆盖。
同行评审设计的内容很多,主要分为管理评审、技术评审、文档评审和过程评审。
条件/判定覆盖就是设计足够的测试用例,使得判定语句中每个条件的所有可能取值至少评价一次,同时每个判定语句本身的所有可能分支也至少评价一次,
路径覆盖是设计足够的测试用例,执行程序中所有可能的路径,而条件组合覆盖是设计足够的测试用例,使得每个判定的所有可能的条件取值组合至少执行一次。
对于B项,资源利用率反映的是在一段时间内资源平均被占用的情况。
对于C项,软件性能测试有用户视角、管理员视角、开发人员视角。
对于D项,并发进程数不是软件性能测试的指标。
通过进程分析,可以进一步查看每个进程的性能指标,以确定哪个进程是影响性能的原因。
进程分析是指出现性能瓶颈时,可以进一步查看每个进程的性能指标,以确定哪个进程是造成性能瓶颈的原因。
并发测试是指模拟多用户并发使用软件的情况,从而测试软件是否存在与并发有关的缺陷,
软件可靠性测试是:
(1)在规定的条件下,在规定的时间内软件不引起系统失效的概率。
(2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。
要进行测试需要经历确定可靠性目标,定义软件运行剖面,设计测试用例,实施可靠性测试,分析测试结果等阶段,因此软件可靠性测试代价非常高,软件可靠性既可用白盒测试又可用黑盒测试,软件可靠性测试也适用于面向对象软件测试。
抽象类中的方法没有具体的定义,不能进行方法层次的测试,方法层次的测试是单元测试中非常重要的方面,缺少了这一方面也就不能进行单元测试。
大突击集成是常用的集成策略,虽有自己的优点,也有一些缺陷,不是最有效的测试策略。
针对一个类的多个实例间协作的测试属于单元测试,在单元测试中,由于集成和多态的使用,测试不能仅限于子类,还要考虑继承树上的各个父类。
排版结构测试属于表示层的测试,链接测试是功能测试的内容。
对于Web应用软件而言,性能是一个至关重要的因素。
因此在对Web应用软件进行系统测试时,必须考虑性能测试。
浏览器兼容性测试是Web应用软件表示层的测试,表单测试属于功能测试的内容,压力测试的目的是检查系统在压力下的稳定性。
Web应用软件是否支持不同浏览器,软件功能是否丰富是功能测试的内容。
在处理复杂性的响应时间是否符合要求是性能测试的内容,但和易用性测试无关。
W模型测试的对象除了程序和设计外,还包括需求。
H模型的提出源自软件开发中的活动常常是交叉进行的,但反复触发、迭代的关系发生在软件测试活动内部,与其他活动无关。
X模型提出针对单独的程序片段进行相互分离的编码和测试,不是针对完整的程序进行集成的编码和测试。
测试用例执行要求保证测试结果准确完整。
测试执行完成后需要将测试报告或质量发送出去,并得到项目经理认可才算结束。
只有检查过的所有测试用例的结果正确、准确完整才能结束测试执行。
数据驱动脚本将测试输入存储在独立的数据文件中
建立测试环境是测试执行阶段的内容。
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
单元测试的测试用例设计主要根据接口规格说明。
1:
参考答案:
C我的答案:
参考解析:
程序的正确性固然重要,但不足以体现软件的价值。
试题内容:
以下关于软件质量的说法中,错误的是
A:
软件产品必须提供用户所需要的功能,并能正常工作
B:
软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度
C:
程序的正确性足以体现软件的价值
D:
越是关注客户的满意度,软件就越有可能达到质量要求
2:
参考答案:
B我的答案:
参考解析:
软件测试原则包括A、C、D三项,没有B项。
试题内容:
以下关于软件测试原则的说法中,错误的是
A:
在设计测试用例时,不但要包括合理的输入条件,还要包括不合理的输入条件
B:
测试过程中某模块中查出的错误越多,该模块残留的错误就越少
C:
坚持在软件开发各个阶段进行技术评审,才能在开发过程中尽早发现和预防错误
D:
在测试过程中要严格按照测试计划执行,以避免发生疏漏或重复无效的工作
3:
参考答案:
B我的答案:
参考解析:
软件需求分析阶段测试的内容有:
真正的需求,需求是否完备,是否兼容。
试题内容:
以下不属于软件需求分析阶段测试的内容是
A:
通过场景走查和与用户沟通,看需求是否是用户"真"的需求
B:
通过对开发进度、开发费用、产品性能、可靠性和内存使用等各方面需求的分析,看综合起来是否合理,是否有对需求的一个优先级安排
C:
通过领域分析和与用户沟通,看需求是否是完备的
D:
通过检查需求与实现环境的不相容之处,看需求是否可兼容
4:
参考答案:
B我的答案:
参考解析:
在软件测试中必须用不同的数据测试每一条路径。
试题内容:
以下关于覆盖测试的说法中,错误的是
A:
语句覆盖要求每行代码至少执行一次
B:
在路径测试中必须用不同的数据重复测试同一条路径
C:
路径测试不是完全测试,即使每条路径都执行了一次,程序还是可能存在缺陷
D:
分支覆盖应使程序中每个判定的真假分支至少执行一次
5:
参考答案:
A我的答案:
参考解析:
桌上检查的项目包括:
交差引用表、检查程序的语句代码和比较控制流图,不包括A项。
试题内容:
以下不属于桌上检查的项目是
A:
检查小组对程序进行模拟执行,以展示系统的不同构件如何相互作用,暴露程序被忽略的细节
B:
检查变量的交叉引用表,重点是检查未说明的变量和违反了类型规定的变量
C:
选择、激活路径,检查程序的语句代码
D:
比较由程序员设计的控制流图和由实际程序生成的控制流图,寻找和解释每个差异,修改文档和校正错误
6:
参考答案:
A我的答案:
参考解析:
走查的目的是:
发现缺陷、遗漏和矛盾的地方。
试题内容:
代码走查的目的是
A:
发现缺陷、遗漏和矛盾的地方
B:
确认程序逻辑与程序规格说明的一致性
C:
验证需求变更的一致性
D:
证明程序确实是按照用户的需求工作的
7:
参考答案:
C我的答案:
参考解析:
因为每个判断有三条可执行路径,这样至少需要3个测试用例。
试题内容:
设有一个判断语句
if(!
(ch>=‘0’&&ch<=‘9’))printf(“Thisisnotadigit!
\\n”);
elseprintf(“Thisisadigit!
\\n”);
为实现判定—条件覆盖,需要设计的测试用例个数至少应为
A:
1
B:
2
C:
3
D:
4
8:
参考答案:
D我的答案:
参考解析:
单元测试的目的不包含检查用户接口是否满足客户的需求。
试题内容:
以下的叙述中不是单元测试目的的是
A:
验证代码是否与设计相符合
B:
发现设计和需求中存在的缺陷
C:
发现在编码过程中引入的错误
D:
检查用户接口是否满足客户的需求
9:
参考答案:
A我的答案:
参考解析:
集成测试层次不包括应用环境集成测试。
试题内容:
以下不属于集成测试层次的是
A:
应用环境集成测试
B:
模块内集成测试
C:
子系统内集成测试
D:
子系统间集成测试
10:
参考答案:
D我的答案:
参考解析:
α测试是用户在模拟实际操作环境下进行的测试,开发者坐在用户的旁边。
试题内容:
开发单位内部的用户在模拟实际操作环境下进行的,开发人员参与的测试是
A:
接受测试
B:
6σ测试
C:
β测试
D:
α测试
11:
参考答案:
B我的答案:
参考解析:
链接测试是Web应用软件功能测试之一。
试题内容:
以下关于Web应用软件测试的说法中,错误的是
A:
Cookie测试是Web应用软件功能测试的一项重要内容
B:
链接测试是Web应用软件易用性测试的一项重要内容
C:
Web应用软件测试通常需要考虑安全性测试
D:
Web应用软件测试通常需要考虑性能测试
12:
参考答案:
A我的答案:
参考解析:
软件性能测试不包括覆盖测试。
试题内容:
以下哪种软件测试不属于软件性能测试的范畴
A:
覆盖测试
B:
压力测试
C:
负载测试
D:
并发测试
13:
参考答案:
C我的答案:
参考解析:
暂无解析
试题内容:
以下哪一项属于Web应用软件业务层测试关注的范畴
A:
浏览器兼容性测试
B:
应用服务器兼容性测试
C:
服务器端程序的功能测试
D:
排版结构的测试
14:
参考答案:
B我的答案:
参考解析:
性能计数器的分析包括处理器分析。
试题内容:
以下哪一种技术属于基于性能计数器的性能分析技术
A:
字符串分析
B:
处理器分析
C:
变量分析
D:
循环次数分析
15:
参考答案:
A我的答案:
参考解析:
Cookie测试属于功能测试,排版结构测试与浏览器兼容性测试属于表示层的测试,并发测试属于性能测试。
试题内容:
以下关于Web应用软件易用性测试的说法中,错误的是
A:
Cookie测试是Web应用软件易用性测试的一项重要内容
B:
排版结构测试是Web应用软件易用性测试的一项重要内容
C:
并发测试不是Web应用软件易用性测试的一项重要内容
D:
浏览器兼容性测试不是Web应用软件易用性测试的一项重要内容
16:
参考答案:
B我的答案:
参考解析:
在软件可靠性领域,同一软件的不同拷贝具有相同的可靠性。
试题内容:
以下关于软件可靠性的说法中,正确的是
A:
软件发生物理退化是影响软件可靠性的重要因素
B:
同一软件即使运行于不同硬件环境其可靠性保持相同
C:
如果没有恶意的使用者,软件总是可靠的
D:
软件可靠性与软件的使用方式密切相关
17:
参考答案:
B我的答案:
参考解析:
数据兼容性测试主要包括不同版本间的数据兼容性和不同软件间的数据兼容性,A、C、D项都符合其关注的范畴。
试题内容:
以下哪一项不属于数据兼容性测试关注的范畴
A:
一