1、软件质量保证与测试软件质量保证与测试2.1 软件测试模型软件测试模型、阶段和生命周期、阶段和生命周期第 2 章 软件测试策略Software Quality Assurance and Testing软件测试模型软件测试模型 我们应当怎样来进行软件测试?V 模型模型编 码V 模型模型表达了软件测试活动与软件分析设计活动的对应关系:测试活动测试活动软件分析设计活动软件分析设计活动单元测试详细设计集成测试概要设计系统测试软件规格说明验收测试软件需求V 模型模型不足:开发与测试是先后关系,先开发后测试。忽视了对需求分析,系统设计的验证和确认,需求的满足情况一直到后期的验收测试才被验证。如果开发阶段没
2、有有效的质量控制措施,到软件编码完成之后,通过测试发现大量缺陷和错误,再想提高软件质量,则成本会非常高,有时甚至已经不可能。肉的构成及其特性肉的构成及其特性第一节第一节 肉的组织结构及化学组成肉的组织结构及化学组成 肉是指畜禽经屠宰后除去毛(皮)、头、蹄、尾、血液、内脏后的胴体,俗称白条肉。它包括肌肉组织、脂肪组织、结缔组织和骨组织。肉的化学组成主要包括有水分、蛋白质、脂类、碳水化合物、含氮浸出物及少量的矿物质和维生素等。在肉品生产中,把刚宰后不久的肉称为“鲜肉”;经过一段时间的冷处理,使肉保持低温而不冻结的肉称为“冷却肉”;经低温冻结后的肉则称为“冷冻肉”;按不同部位分割包装的肉称为“分割肉
3、”。肉的构成及其特性肉的构成及其特性 一、组织结构一、组织结构 (一)肌肉组织 肌肉组织可分为横纹肌、心肌、平滑肌三种。胴体上的肌肉组织是横纹肌,也称为骨骼肌,俗称“瘦肉”或“精肉”。骨骼肌占胴体5060,具有较高的食用价值和商品价值,是构成肉的主要组成部分。肉的构成及其特性肉的构成及其特性 1.肌肉组织的宏观结构 肌肉是由许多肌纤维和少量结缔组织、脂肪组织、腱、血管、神经、淋巴等组成。从组织学看,肌肉组织是由丝状的肌纤维集合而成,每50150根肌纤维由一层薄膜所包围形成初级肌束。再由数十个初级肌束集结并被稍厚的膜所包围,形成次级肌束。由数个次级肌束集结,外表包着较厚膜,构成了肌肉。肉的构成及
4、其特性肉的构成及其特性 2.肌肉组织的微观结构 构成肌肉的基本单位是肌纤维,也叫肌纤维细胞,是属于细长的多核的纤维细胞,长度由数毫米到20cm,直径只有10100m。在显微镜下可以看到肌纤维细胞沿细胞纵轴平行的、有规则排列的明暗条纹,所以称横纹肌,其肌纤维是由肌原纤维、肌浆、细胞核和肌鞘构成。肌原纤维是构成肌纤维的主要组成部分,直径为0.53.0m。肌肉的收缩和伸长就是由肌原纤维的收缩和伸长所致。肌原纤维具有和肌纤维相同的横纹,横纹的结构是按一定周期重复,周期的一个单位叫肌节。肉的构成及其特性肉的构成及其特性 肌节是肌肉收缩和舒张的最基本的功能单位,静止时的肌节长度约为2.3m。肌节两端是细线
5、状的暗线称为Z线,中间宽约1.5m的暗带或称A带,A带和Z线之间是宽约为0.4m的明带或称I带。在A带中央还有宽约0.4m的稍明的H区。形成了肌原纤维上的明暗相间的现象(图2-1)。肌浆是充满于肌原纤维之间的胶体溶液,呈红色,含有大量的肌溶蛋白质和参与糖代谢的多种酶类。此外,尚含有肌红蛋白。由于肌肉的功能不同,在肌浆中肌红蛋白的数量不同,这就使不同部位的肌肉颜色深浅不一。肉的构成及其特性肉的构成及其特性 (二)脂肪组织 脂肪组织是畜禽胴体中仅次于肌肉组织的第二个重要组成部分,对改善肉质、提高风味有重要作用。脂肪的构造单位是脂肪细胞,脂肪细胞单个或成群地借助于疏松结缔组织联在一起。动物脂肪细胞直
6、径30120m,最大可达250m。脂肪主要分布在皮下、肠系膜、网膜、肾周围、坐骨结节等部位。在不同动物体内脂肪的分布及含量变动较大,猪脂多蓄积在皮下、体腔、大网膜周围及肌肉间;羊脂多蓄积在尾根、肋间;牛脂蓄积在肌束间、皮下;鸡脂蓄积在皮下、体腔、卵巢及肌胃周围。脂肪蓄积在肌束间使肉呈大理石状,肉质较好。脂肪组织中脂肪约占8792,水分占610,蛋白质1.31.8。另外还有少量的酶、色素及维生素等。肉的构成及其特性肉的构成及其特性 (三)结缔组织 结缔组织是构成肌腱、筋膜、韧带及肌肉内外膜、血管、淋巴结的主要成分,分布于体内各部,起到支持和连接器官组织的作用,使肉保持一定硬度且具有弹性。结缔组织
7、是由细胞、纤维和无定形基质组成,一般占肌肉组织的9.013.0,其含量和肉的嫩度有密切的关系。纤维分为胶原纤维、弹力纤维和网状纤维。结缔组织属于硬性非全价蛋白质,营养价值低。结缔组织含量的多少直接影响肉的质量和商品价格。肉的构成及其特性肉的构成及其特性 (四)骨组织 骨由骨膜、骨质及骨髓构成(如图2-2)。骨组织是肉的次要成分,食用价值和商品价值较低。胴体因带骨又称为带骨肉,剔骨后的肉称其为净肉。成年动物骨骼的含量比较稳定,变动幅度较小。猪骨约占胴体的59,牛占1520,羊占817,鸡占817,兔占1215。骨中水分约占4050,胶原约2030,无机质占20。将骨骼粉碎可以制成骨粉,作为饲料添
8、加剂。此外,还可熬出骨油和骨胶。利用超微粒粉碎机制成骨泥,是肉制品的良好添加剂,也可用作其他食品钙和磷的强化。W 模型模型W 模型模型 相对于V模型,W模型增加了软件开发各阶段中同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表软件质量验证、确认、测试过程 和 软件开发过程。W=V+VW 模型模型W模型强调:软件需求分析、软件设计等同样需要质量控制,应当及时进行验证和确认。软件需求、软件设计阶段需要为后续的软件测试工作做准备、测试与开发是同步进行的。验证、确认和测试等软件质量控制活动伴随着整个软件开发周期。W 模型模型优点:有利于尽早、全面的发现问题。例如,需求分析完成后,质量保证
9、与测试人员就应该参与到对需求分析文档的验证和确认活动中,并尽早的发现问题。有利于降低软件开发的总成本。因为越早发现问题,解决问题的成本就会越小。有利于提前做好测试准备和测试设计。例如在需求分析阶段就可以及早进行验收测试设计,这将显著减少测试工作所产生的时延,加快项目进度。软件测试的阶段软件测试的阶段被测被测模块模块单元单元测试测试概要设概要设计信息计信息集成集成测试测试单元单元测试测试测试过测试过的模块的模块系统系统测试测试用户用户需求需求其它系其它系统元素统元素装配好装配好的软件的软件可运可运行的行的系统系统被测被测模块模块系统系统规格规格验收验收测试测试详细设详细设计信息计信息单元测试:是
10、针对每个程序单元程序代码的测试,以确保每个程序模块能正常工作为目标。单元的粒度具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试,也有具体到类,函数的测试等。软件测试的阶段软件测试的阶段集成测试:对已经通过单元测试的模块,按照设计要求进行组装和测试。n 各模块间组合后的功能实现情况n 模块接口连接的成功与否n 数据传递的正确性等软件测试的阶段软件测试的阶段系统测试:把软件系统搭建起来,检验软件产品能否与系统的其他部分(如硬件、操作系统、数据库等)协调工作,达到软件规格说明书中的功能、性能等方面要求。软件测试的阶段软件测试的阶段 验收测试可以分成两类,针对具有大量用户的通用软件,可以
11、采用Alpha测试+Beta测试,Alpha测试是由用户在开发环境下完成的测试,Beta测试是由用户在用户环境下完成的测试;而针对只有特定用户的专用软件,可以采用用户正式验收测试。软件测试的阶段软件测试的阶段验收合格 验收测试:从用户的角度对软件产品进行检验和测试,看是否符合用户的要求。软件测试的不同阶段,被测试对象和测试依据是不同的。软件测试的阶段软件测试的阶段被测试对象测试依据单元测试程序模块详细设计集成测试装配好的多个软件模块概要设计系统测试软件系统(包括软件及其运行环境)软件规格说明验收测试可运行的软件系统软件需求说明以及其他用户要求软件测试的生命周期软件测试的生命周期测试需求分析测试
12、计划测试设计测试开发测试执行和记录测试总结软件测试的生命周期软件测试的生命周期测试需求分析:明确需要完成的测试任务、测试内容和要达到的测试要求。测试需求可以由软件文档获取,例如软件的规格说明书中明确了软件具有某项功能,那么就需要测试这项功能是否实现。测试需求除了有功能测试需求之外还可以有非功能测试需求,如性能测试需求、安全性测试需求。软件测试的生命周期软件测试的生命周期测试计划:描述所有要完成的测试工作,包括被测试项目的背景、目标、范围、方式、资源、进度安排、测试组织,以及与测试有关的风险等方面。软件测试的生命周期软件测试的生命周期 制定软件测试计划可以从以下几方面促进测试工作的开展:1使软件
13、测试工作有据可依,按部就班,进行更顺利2使软件测试工作有章可循,更易于管理3促进项目参与人员彼此的沟通交流,分工合作4及时发现测试工作中的问题和不足,适时调整进度、资源投入和人员安排等。软件测试的生命周期软件测试的生命周期测试设计:如何合理运用测试原则、方法、策略,设计测试方案和数据,尽可能降低测试成本,并尽可能多的发现软件中的缺陷和问题。测试设计要兼顾测试的充分性和成本节约原则,综合运用多种测试方法、策略,合理设计测试数据,用尽可能少的测试数据发现尽可能多的软件缺陷和问题,减少测试工作量,提高测试效率。软件测试的生命周期软件测试的生命周期测试开发:主要指开发测试脚本,有时也包括自动生成测试数
14、据等。软件测试需要重复执行软件,以便发现软件中的问题,测试开发的重要工作就是编写得到用于自动执行测试过程的代码,一般称之为测试脚本。有时在需要大量测试数据的情况下,也可以编写程序或者通过其他工具自动生成一些测试数据。测试测试开发:测试脚本实例开发:测试脚本实例import resources.OrderTotalHelper;import com.rational.test.ft.*;import com.rational.test.ft.object.interfaces.*;import com.rational.test.ft.script.*;import com.rational.t
15、est.ft.value.*;import com.rational.test.ft.vp.*;/*Description :Functional Test Script*author Administrator*/public class OrderTotal extends OrderTotalHelper 软件测试的生命周期软件测试的生命周期测试执行和记录:执行测试过程,包括执行程序,输入测试数据,记录测试结果等。目前采用自动化的方法来执行测试过程用的越来越多。软件测试的生命周期软件测试的生命周期测试总结:包括统计分析测试结果,报告缺陷,评估软件质量等。测试统计表项目统计数据测试用例总数测试用例覆盖率执行测试用例数测试用例执行率已通过的测试用例数未通过的测试用例数软件缺陷密度缺陷报告本节内容就讲到这里,谢谢,再见!本节内容就讲到这里,谢谢,再见!