塔里木大学
毕业论文(设计)开题报告
课题名称:《软件质量保证与测试》
课程网站设计
学生姓名
学 号
所属学院:信息工程学院
专 业:计算机科学与技术
班 级:计算机科学与技术15-3班
指导教师:
起止时间:20XX.11.05-20XX.01.10
塔里木大学教务处制
开题报告正文
1、选题的目的与意义
目的:
《软件质量保证与测试》精品课程主要是用来让同学们能在上面学习和获取相应资料,能够促进大家的学习。我制作的课程网站通过利用网页制作,ASP语言、Microsoft SQL Server数据库、Dreamweaver来进行研究和开发的,制作的目的主要是用来能够了解这门课程的特点,能够了解具体的师资,能够下载很多学习资料,另外通过后台管理,管理员可以很好的控制前台。
意义:在Internet飞速发展的今天,如今的社会,人们的生活学习已经离不开了网络,网络已经成为人们获取知识和信息的一种方式。课程网站也充当了一个重要的学习方式的功能。简单地说,课程网站就是充当一个学习媒介的功能,主要实现课程概况、课程内容和互动交流这三大功能模块。其中课程概况模块可以分为课程简介、教师团队、教学内容小模块;课程内容模块可以分为教学课件、教学视频、文献资料、试卷小模块;互动交流模块可以分为互动交流和我要发言两个小模块,这样可以很好的把软件质量保护与测试的知识介绍给大家。
2、课程网站的发展动态
随着Internet应用的普及,网站的地位尤为突出。它已成为现代人学习和获取信息的重要组成部分,从而倍受人们的重视。国内外各个大学都有自己的精品课程的网站,同学们可以非常容易的获取信息,但是在网络技术日益发达的今天,精品课程也需要更高层次的健全体系,这就给精品课程开发人员出了更高的要求。目前,在我国的很多学校,同学网站还不够完善、健全,基于此开发出现代化的精品课程网站系统应用到各学校已迫在眉睫。同时,精品课程网站的自动化也是当今社会的发展趋势,能及时的交流与反馈信息,这些无疑是现代学校精品课程的要求。
3、任务要求
任务要求:
本程序前台采用Dreamweaver进行页面制作CSS美化,后台由Microsoft SQL Server数据库支持,ASP语言实现动态网页的效果,用达到对数据库的操作以完成使用者的要求。该精品课程可以在 Windows 7 操作系统平台上运行,Web服务器研究目标:为IIS,数据库服务器为Microsoft SQL Server,开发工具采用的ASP和Dreamweaver。用户可以从中获得相应的信息研究方法:以ASP为基本技术,使用 Dreamweaver等工具实现网站的功能并达到一定研究方法的美观效果;网站后台数据库使用Microsoft SQL Server,运行方便快捷,占用系统资源少。参考国内外比较有影响力的类似网站,学习借鉴别人的长处,提高自身的理论水平和实际操作能力。
4、必须的工作条件及解决办法
硬件要求:计算机一台
运行环境:Windows 7操作系统
开发工具:Dreamweaver、ASP
现有的基础:能熟练制作各个部分的模块,能熟练运用开发软件中基本操作。
解决方法:利用课堂学习和平时积累的知识、图书馆的书籍、网上查阅资料以及指导老师和同学的指导等手段解决了语言方面的问题。
5、工作方案及进度
2014年9月1日-9月31日:阅读有关参考资料,并做好课题的需求分析。
2014年10月1日-10月10日:继续阅读有关参考资料,设计课题的系统结构。
2014年10月11日-10月15日:完成文献综述的写作。
2014年10月15日-10月30日:开题报告的写作。
2014年11月1日-12月31日 :完成系统结构设计及各个功能模块设计,实现模块编码。
2015年3月1日-3月31日:修改代码,调试程序。
2015年4月1日-4月20日:论文交给指导教师和评阅教师评阅,定终稿。
2015年4月20日-4月30日:准备答辩。
6、参考文献
[1] 古乐,史九林.软件测试技术概论[M]. 北京:清华大学出版社,2006.
[2] 古乐,史九林.软件测试案例与实践教程[M]. 北京:清华大学出版社,2007.
[3] 杨根兴,蔡立志,陈昊鹏,蒋建伟. 软件质量保证:测试与评价[M]. 北京:清华大学出版社,2007.
[4] 朱三元.软件质量及评价技术[M]. 北京:清华大学出版社,1990.
[5] 朱少民.软件测试方法和技术[M]. 北京:清华大学出版社,2007.
[6] 邱寄帆,王海春.基于Internet的精品课程教学资源的构建.成都航空职业技术学院学报.2005, 68:32-39.
[7] 张薄生.SQL Server数据库应用技术[M].北京:清华大学出版社,2008.
[8] 陶宏才.数据库原理及设计[M].北京:清华大学出版社,2005:45-47.
[9] 李向东.基于ASP.NET的精品课程平台的设计与实现.华东师范大学,2009, 10:20-27.
[10] 郝军启.Dreamweaver CS3网页设计与网站设计[M].北京:清华大学出版社,2007:36-38.
学生签名
年 月 日
指导教师审阅意见
指导教师签名
第二篇:软件质量保证和测试 复习资料
第1章 软件质量保证和测试的背景
IEEE关于软件质量的定义:
软件质量是:
·系统部件不见或者过程满足需求的规定需求的程度。
·系统、部件或者过程满足顾客或者用户需要或期望的程度。
ANSI关于软件质量的定义。
软件质量定义为“与软件产品满足规定的和隐含的需求的能力有关的特征和特征的全体”
具体包括:
·软件产品中能满足用户给定需求的全部特性的集合。
·软件具有所有期望值的各种属性的集合。
·用户观得出的软件是否满足其综合期望的程度。
·决定所用软件在使用中将满足其综合期望程度的软件特性。
IEEE给出软件质量保证的定义,软件质量保证(SQA)是:
(1)一种有计划的,系统化的行动模式,它是为项目或者产品符合已有技术需求提出充分信任所必需的。
(2)设计用来评价开发或者制造产品的过程的一组活动,与质量控制有区别。
软件测试是使用人工或者自动手段来运行或测试某个系统的过程,检验它是否满足规定的需求或者弄清预期结果和实际结果之间的差别。
随着时间的推移,修复软件缺陷的费用惊人的增长。
软件测试是软件质量保证的重要手段之一。
第2章 软件质量工程体系
软件质量控制的定义:
软件质量控制是一组由开发组织使用的程序和方法,使用它可在规定的资金投入和时间限制的条件下,提供满足客户质量要求的软件产品并持续不断地改善开发过程和开发组织本身,以提高将来生产高质量软件产品的能力。
目标问题度量法:书P31页主要看看思想。
风险管理法:P32页 图
PDCA
计划 Plan:确定参数要求
实施 Do:根据要求展开活动
检查 Check:通过评审、度量、测试,确认满足要求
改进 Action:纠正参数要求,在开发
软件质量保证控制模型参数:产品、过程、资源。
SQA(软件质量保证)是CMM(软件能力成熟度)2级一个重要关键过程区域,它是贯穿于整个软件过程的第三方审查活动,在CMM过程中从当重要角色。
简要描述几种常见的质量控制模型(见上):控制方法:
风险避免:通过变更计划消除风险的触发条件,如采用成熟技术、增加资源减少软件范围等。
风险弱化:降低风险发生的概率,如简化流程、更多测试、开发原型系统等。
风险承担:制定应急方案,随机应变。
风险转移:将风险发生的结果连同应对权利转移给有应对能力的第三方。
第3章 软件质量度量和配置管理
Measure:度量(名词):是根据一定规则赋予软件过程或产品属性的数值或类别
软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程。
软件度量在软件工程中的作用有三:
1、通过软件度量增加理解。
2、通过软件度量管理软件项目,主要是计划和估算、跟踪和确认;
3、通过软件度量指导软件过程改善,主要是理解,评估和包装。
影响软件质量的因素:
首先是人的因素,其次是过程的因素最后是技术因素。
简述几种常见的软件质量模型?
软件质量保证模型:
McCall模型,Boehm模型,FURPS模型ISO1926
简述软件过程度量的目标对象方法和结果?
软件过程度量的目标:软件过程度量的目标是为了对软件过程的行为进行目标管理,并在度量的基础上对软件过程进行控制,评价和改善软件过程度量最终为项目管理和软件过程管理服务。
软件过程度量就其对象而言,主要包括三个:工作产品、软件项目和过程。
软件过程度量的方法:对软件过程度量的方法是过程性方法,软件过程行为是事件行为,对过程的度量也具有过程性,从制定度量目标到收集数据再到数据分析表示了典型的度量阶段。
软件度量的结果通常是软件产品的复杂度模型和可靠性模型等。
简述影响软件质量的因素?
首先是人的因素,即M.软件开发是智力劳动,软件是人的脑力劳动,进行创造性思维的结果。其次是过程因素,即P。“过程”一词有很多的定义,ISO9000将过程定义为“一种将输入转化为输出的相互关联或相互作用的活动”。软件过程是人们用来生产软件产品一系列的工具、方法和实践的集合。最后是技术因素,即T,近年来软件技术虽然取得了不少进展,提出了许多新的开发方法,比如充分利用现成软件复用技术,自动生成技术,也研制了一些有效的软件开发工具或开发环境,但在软件项目中采用的比率仍然很低。
第4章 软件可靠性度量和测试
软件可靠性的定义:
(1)在规定的条件下,在规定时间内,软件不引起系统失效的概率,该效率是系统输入和系统使用的函数,也是软件中存在错误的函数;系统输入将确定是否遇到已存在的错误(如果错误存在的话)
(2)在规定的时间周期内,在所述条件下程序执行所要求功能的能力。
影响软件可靠性的因素:
需求分析定义错误,设计错误,编码错误,测试错误,文档错误。
软件可靠性模型是指为预计或估算软件的可靠性所建立的可靠性框图和数学模型。
Musa和Okumoto根据软件可靠性的5种特征,对模型进行了下述分类:
时间域 类别 型式 种类 族
简要描述提高软件可靠性的方法和技术?
软件重用 使用开发管理工具如Intersolv公司的PVCS软件开发管理工具 加强测试
容错设计尽可能不让差错和缺陷潜入软件,这类常用的技术有以下几种:算法模型化,模拟模型化、可靠性模型、软件危险分析与故障树分析
第5章 软件质量标准
软件质量标准:
国际标准、国家标准、行业标准、企业规范、项目规范。
CMM关键域等级:
初始级、可重复级、已定义级、已管理级、优化级。
*软件保证实现的具体实施方法如下:
1、定义项目类型和生命周期,2、建立SOA计划,确定项目审计内容,3、生成SOA报告。
4、审计SOA报告5、建立汇报。
第6章 软件评审
为什么需要软件评审?
评审是一些用于开发过程早期检查和纠正缺陷的有效方法,它们可以用来检查未形成执行代码的文档的缺陷。总体来说,自开发过程中评审可以让人们获得以下收益:
(1)提高项目的生产率,这是由于早期发现了错误,因而减少了返工时间,还可能减少了测试时间。
(2)改善软件的质量。
(3)在评审的过程中,使开发团队的其他成员更熟悉产品和开发过程。
(4)通过评审,标志着软件开发的一个阶段的完成。
(5)生产更容易维护的软件。
评审的内容:
管理评审 技术评审 文档评审 过程评审
评审的方法:
特别检查 轮查 走查 团队评审 检视
评审的技术
缺陷检查表 规则表 评审工具的使用 从不同角度理解产品 场景分析技术
第7章 软件全面质量管理
为什么要进行全面软件质量管理?
缩短总运转周期 降低质量所需成本 缩短库存周转时间 提高生产率 追求企业利益和成功
使顾客完全满意 最大限度获取利润
质量管理蕴含着如下含义:
强烈关注顾客 精确度量 坚持不断的改进 向员工授权 改进组织中每项工作的质量
P(Plan)计划—>D(Do)实施—>C(Check)检查—>A(Action) 处理 138页图
*全面管理与ISO9000:(谈谈软件质量全面管理的思想体系)
两者的相同之处:首先,两者的管理理论和统计理论基础是一致的,它们都认为产品质量形成与产品全过程,都要求质量体系贯穿于质量形成的全过程。在实现方法上,两者使用了PDCA质量运行模式。其次,两者都要求对质量实施系统化的管理,都强调一把手对质量的管理。最后,两者的最终目的是一致的,都是为了提高软件产品质量,满足顾客的需要,都强调任何一个过程都是可以不断改进和完善的。
两者的不同之处:首先,两者的期间目标不一致。全面质量管理的目标是改变现状。其作业只限于一次,目标实现后,管理活动也就结束了,下一次计划管理活动虽然是在上一次计划管理活动的结果上进行的,但绝不重复与上次相同的作业。相反ISO9000的目标是维持标准现状,他的目标值为定值,它的管理活动是重复相同的方法和作业,使实际的工作结果与标准的偏差量尽量减少,其次,两者的工作中心不同,全面质量管理是以人为中心,ISO9000是以标准为中心。再次,两者执行标准及检查方式不同。实施全面质量的企业所制定的标准是企业结合其自身特点的自我约束的管理体制,其检查方主要是企业内部人员,检查方法是考核和评价。
6σ管理的优点:
提升企业的管理能力 节约企业运营成本 增加顾客价值 改进服务水平 形成积极向上的企业文化
第8章 高质量编程
内存分配方式:
从静态存储区域分配 在栈上创建 从堆上分配,也称动态内存分配
常见的错误情况:
(1)内纯分配未成功却使用了它(2)内存分配虽然成功,但是尚未初始化就引用它(3)
内存分配成功并且已经初始化,但操作越过了内存的便捷(4)忘记了释放内存,造成内存泄露(5)释放了内存却继续使用它
第9章 软件测试过程
软件测试时需要以下三类信息:
软件配置 测试配置 测试工具
综合测试分为4个步骤:
单元测试 集成测试 系统测试 验收测试
另外 ,在所有的测试过程中,始终贯穿着回归测试
辅助测试模块分为以下两种:
驱动模块 桩模块
测试方法:第13章课后题 请比较非增量式集成、自顶向下、自底向上的集成策略?
(1)非增量测试集成测试方法(2)增量式集成测试方法
两种测试方法的比较:
自顶向下:优点:1.如果程序错误趋向于发生在程序的顶端时,有利于查处错误。2.可以较早出现程序的轮廓。3.加进输入/输出模块后,较方便描述测试用例 缺点:1.桩模块较难设计。2.模块介入使结果较难观察
自底向上:优点:1.如果程序错误趋向于发生在程序的低端时,有利于查出错误。2.容易产生测试条件和观察测试结果。3.容易编写驱动模块。 缺点:1.在加入最后一个模块之前,程序不能作为一个整体存在。2,必必须给出驱动程序
常用的选择回归测试的方式如下:
再测试全部用例 基于风险的选择 基于操作剖面选择测试 在测试修改部分
软件测试贯穿于整个软件开发生命周期。
简述软件测试自动化的意义
对新版本进行回归测试。执行更多更频繁的测试。执行一些手工测试困难或不可能做的测试。更好的利用资源。测试具有一致性和可重复性。测试的复用性。增加软件的信任度。可以更快的将软件推向市场。
第12章 基于缺陷模式的软件测试
软件缺陷属性:
缺陷标识 缺陷类型 缺陷严重程度 缺陷优先级 缺陷状态 缺陷起源 缺陷来源 缺陷根源
CMM1级(初始级) CMM2(可重复级)CMM3级(已定义级)CMM4级(已管理级)
CMM5级(持续优化级)
缺陷管理目标:
(1)及时了解并跟踪每个被发现的缺陷。
(2)确保每个被发现的缺陷都能够被处理
(3)收集缺陷数据并根据缺陷趋势曲线来识别测试过程是否结束
(4)收集缺陷数据并在其上进行数据分析,作为组织的过程财富。
一个简单的软件缺陷生命周期(P288)图
实践中的软件缺陷生命周期(P289)
缺陷分析指标:
缺陷发现率 缺陷潜伏期 缺陷密度 缺陷清除率
第13章 集成测试
集成测试与单元测试和系统测试的区别:
集成测试与单元测试关注的范围有很大的不同 三者的依据也不同
三明治集成测试(P301)
三明治集成测试。
三明治集成测试是将自顶向下测试与自底向上测试两种模式有机结合起来,采用并行的自顶向下、自底向上集成方式,形成改进的三明治方法。
采取持续集成的策略,软件开发中各个模块不是同时完成,根据进度将完成的模块尽可能早地进行集成,有助于尽早发现缺陷,避免集成阶段大量缺陷涌现。
自底向上集成时,先完成的模块将是后期模块的被调用程序,而自顶向下集成时,先期完成的模块将是后期模块的驱动程序,使后期模块的单元测试和集成测试出现了部分交叉,节省了测试代码的编写,提高工作效率。
核心系统先行集成测试(P302)
核心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中。
每次加入一个外围软件部件都产生一个产品基线,直至最后形成稳定的软件产品,核心系统先行集成测试对应的集成过程是一个逐渐趋于闭合的螺线形曲线,代表产品逐步定型的过程.
第14章 系统测试
性能测试:
时间性能 空间性能
兼容是测试包括几方面:(兼容性测试需要考虑那几个方面?)
向前和向后兼容 不同版本之间的兼容 标准和规范 数据共享兼容性
软件文档对软件整体质量的影响:
提高可用性。可用性大小与软件文档有关
提高可靠性。可靠性是指软件平稳运行的程度
降低支持费用。用户有麻烦或者遇到意外情况时,就会向公司请求帮助。好的文档能通过恰当的解释和引导帮助用户克服困难,尽可能预防这种情况的发生。
网站测试:(进行网站测试时需要考虑那些要领?)
(1)文字测试
(2)链接测试
(3)图形测试
(4)表单测试
(5)动态与内容测试
(6)数据库测试
(7)服务器性能和加载测试
(8)安全性测试
第15章 测试管理
测试文件的类型:测试计划和测试分析报告
调试方法:
蛮力法 回溯法和原因排除法
蛮力法:进行内存映像,激活运行时的跟踪,在程序中到处都插入write语句
回朔法:该方法是小程序经常使用并能奏效的常用调试方法,从发现症状的地方开始,手工地向回跟踪源程序,直到发现错误原因
原因排除法:这种方法是通过演绎和归纳,以及二分法来实现的,该方法对和错误相关的数据进行分析,并寻找潜在的原因