软件测试入门掌握
你好!当你开始进行软件测试的时候,来看这篇文章是没错的,这是也是我刚接触软件测试自己积累的一些经验和技巧。
入门须知
在开始之前你先需要明白:
- 软件功能测试技术——手工测试-最基础-不可替代
- Web自动化测试的初级应用能力——Selenium自动化工具1
- 接口测试的初级应用能力
此外,你还需要额外了解:
- 操作系统知识(如:Windows、Linux、MacOS)
- 数据库知识(如:select、where、from……)
软件测试从六方面入手
- 外观界面(UI)测试:界面功能模块布局是否合理,整体风格是否一致,界面文字是否正确,命名是否统一,页面是否美观,文字、颜色、图片组合是否完美等
- 功能测试:所有功能点是否能正常使用和操作,是否满足需求文档里的要求
- 性能测试:测试软件在不同环境和压力下能否正常运转,重要指标——系统响应时间
- 安全性测试:该软件防止非法侵入的能力,是否有防止密码明文泄露
- 易用性测试:使用起来是否复杂,用户体验感是否良好
- 兼容性测试:该软件与其他软件的兼容问题——现主要考虑软件与浏览起的兼容能力,包括分辨率的兼容
明确角色
在项目中的角色有:产品人员、用户、项目经理、开发人员、测试人员
人员构成情况如图1-1所示:
了解评审需求文档
当接触到一个产品中的项目时,还有会接触到该项目的需求文档,以及启动会汇报内容等项目相关文档,需要我们测试人员仔细阅读里面的内容,并对其进行评审。
目的:消除歧义,完善需求细节,达成共识。
就从这六方面进行需求评审:
-
正确性:对照用户的原始需求,检查产品人员制定的需求文档是否偏离了用户的原始需求。
-
明确性:检查需求文档中每一个需求项是否存在一些含糊其辞的词汇,用语是否清晰,是否有歧义。
-
完整性:对照用户的原始需求,检查产品人员制定的需求文档是否覆盖了用户所提出的所有需求项,每个需求项有没有遗漏用户所提出的一些必要信息。
-
限制性:每个需求项里是否清晰地描述了这个软件能做什么,不能做什么,能输入什么,不能输入什么,能输出什么,不能输出什么。
-
优先级:需求文档中的哪些功能比较重要,哪些功能比较次要,是否做了标识和编号。
-
一致性:检查需求文档里的内容前后是否一致,确保不冲突,不矛盾。
软件测试的原理
黑盒测试和白盒测试这两个测试的概念务必掌握!!
简言之
黑盒测试就是不涉及内部代码的结构和算法,着重在测试用户交互界面的测试。
白盒测试就是设计到内部代码的结构和算法,而不在乎外部功能点的测试。
软件测试阶段
软件测试阶段:单元测试、集成测试、系统测试、验收测试
如图1-2可知,我们测试人员是处在系统测试的阶段,我们所测试的内容为开发人员已完成的功能。在对于功能不了解的地方,及时与开发人员进行沟通,问清楚对该功能操作的具体步骤,才能明确对该功能进行测试。
在系统测试和功能测试都是使用黑盒测试 这些名词在前面有提到
测试用例
学习书写测试用例是测试人员的必经之路,必须掌握这种能力
测试用例是测试的依据,是记录测试过程的操作和步骤的文档
下面图1-3的例子来展示测试用例需要包含的内容:
设计测试用例的方法
设计测试用例方法:
方法 | 简介 |
---|---|
等价类划分法 | 把输入的数据进行划分,在区域中取代表性数据进行测试,无效等价类只需取有效中的反向数据 |
边界值分析法 | 这是等价类划分法的补充,取稍高于或稍低于边界的值进行测试 |
错误推测法 | 凭直觉和经验,用发散性思维设计一些容易出错的测试点进行测试, |
正交表分析法 | 这是当有多个输入框,减少测试用例的方法 |
因果判定法 | 明确各类按钮间组合制约的关系,制作判定表,并根据判定表进行测试 |