功能模块测试的测试用例设计方法包括:
等价类划分法:把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一个部分中选取少数具有代表性的数据作为测试用例。比如字符串长度检查,字符类型检查,标点符号检查,特殊字符检查(@ # $ % ! ^ & * ? /) ,中文字符
边界值分析法:针对功能说明中的输入输出域,进行边界值和极限值的设计和测试。
因果图法:以设计说明书为依据设计因果测试流程图和测试案例。
错误推测法:采用逆向思维方式,结合以往测试经验和直觉设计软件在功能和流程上可能存在的各种错误,进行容错性测试。
·上述的测试用例一旦出错, 就应该使用白盒测试方法,进行全路径覆盖是逐次由外到内进行测试, 也就是接口测试/单元测试
· 如果是网络产品你需要测试主动方和被动方, 还有测试的内容的不同
接口测试/单元测试
· 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
· 现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
· 如今系统越来越复杂,传统的靠前端测试已经大大降低了效率,而且现在我们都推崇测试前移,希望测试能更早的介入测试,那接口测试就是一种及早介入的方式。例如传统测试,你是不是得等前后端都完成你才能进行测试,才能进行自动化代码编写。而如果是接口测试,只需要前后端定义好接口,那这时自动化就可以介入编写接口自动化测试代码,手工测试只需要后端代码完成就可以介入测试后端逻辑而不用等待前端工作完成。
易用性测试
· 软件测试员认为软件难以理解、不易使用、运行缓慢,或者最终用户认为不好。如果在测试过程中,测试员都难以使用,客户也会有同样的问题。
· 易用性缺陷有比较强的主观性, 易用产品有如下7个常见的要素。
1. 符合标准和规范
软件符合现行标准和规范是最重要的用户界面要素。标准和规范经过大量的测试、经验总结得出的方便用户的规则。
2. 直观性
直观就是你看到的就是你所预期的。像用户界面整洁,所需功能或期待响应都在预期出现的地方。UI组织和布局合理,从一个功能转到另一个功能用户可以轻松转换,下一步要什么都应该明显,菜单窗口等都在明显的位置,没有多余的功能,用户如果尝试失败,可以从帮助系统中获得帮助等等。
3. 灵活性
用户喜欢选择不要太多,但是足以允许他们选择做什么和怎样做。
4. 舒适性
软件应该用起来舒适,而不应该为用户工作制造障碍和困难。可以通过如下一些想法来鉴别软件舒适性:恰当、错误处理、性能。
恰当: 软件外观和感觉应该与所做的工作和使用者相符。
错误处理: 程序应该在用户执行严重错误的操作之前提出警告,并且允许用户恢复由于错误操作导致丢失的数据。
性能: 如果操作缓慢,可向用户展示持续时间,正在工作的状态。
5. 正确性
测试产品是否做了该做的事。
6. 实用性
具体特性是否实用,对于软件来说,是否是不必要或者不合理的特性。
性能测试
性能测试主要是为了测试程序是否满足三个基本的指标:
1. 吞吐量:简单来说就是每秒钟完成的事务数或者查询数。通常吞吐量大表明系统单位时间能处理的请求数越多,所以通常希望TPS越高越好
2. 响应时间:服务处理一个请求或一个任务的耗时, 或者说一个请求发送出去到接收到响应所耗费的时间
3. 错误率:一批请求中结果出错的请求所占比例
压力测试
首先对要测试的系统进行分析,明确需要对那一部分做压力测试,比如秒杀,支付
1. 可以通过写脚本或者录制脚本,模拟用户的操作产生压力机器人对服务器进行高并发操作
2. 借助一些压力测试工具比如Jmeter,LoadRunner
3. 通过测试可以得到吞吐量,平均响应时间等数据,这个数据的背后是整个后台处理逻辑综合作用的结果,这时候就可以先关注系统的CPU,内存,然后对比吞吐量,平均响应时间达到瓶颈时这些数据的情况,然后就能确认性能问题是系统的哪一块造成的
监控资源消耗
可以对JVM, CPU, 内存, 磁盘, 网络, 数据库, 数据库连接池进行监控, 再结合压力测试得到的吞吐量和平均响应数据就可以定位到性能的瓶颈口, 然后对瓶进口进行性能调优
弱网测试
弱网测试也是可以用户保证体验的好感
1. 在2G, 3G, 4G, 5g网络下测试丢包数和响应时间
2. 或者在突然断网的情况下测试有没有能及时的保存进行保存
兼容性测试
兼容性测试主要用于提高产品的广泛性, 主要有以下几点:
1. 不同手机操作系统
2. 不同的软件版本
3. 不同手机版本
4. 不同的分辨率设备
5. 不同的语言
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。