在编写代码的过程中,把各项功能分开写出来,互不影响,这样可以方便的调用,在出现错误是,也可以很容易的找出错误,对编写代码有很好的帮助。
以数字游戏为例,用户输入4个不同的数字 ,与系统产生的随机4个数对比 如果同位置一样则显示几A位置不同但是有此数字则显示几B 都不同则0A0B 都猜对则游戏成功,6次失败则游戏失败
首先产生随机数
//
// Radom.h
// ShuZiYouXi
//
.
//
#import <UIKit/UIKit.h>
@interface Radom : NSObject
+(NSArray *)randomArray;
@end
//
// Radom.m
// ShuZiYouXi
//
#import "Radom.h"
@implementation Radom
+(NSArray *)randomArray
{
NSMutableArray *startArray = [[NSMutableArray alloc]initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];
NSMutableArray *resultArray = [[NSMutableArray alloc]initWithCapacity:0];
for (int i = 0; i < 4; i ++)
{
int k = arc4random()%startArray.count;
resultArray[i] = startArray[k];
startArray[k] = [startArray lastObject];//为了更好的乱序,交换下位置
[startArray removeLastObject];
}
return resultArray;
}//生成随机的4个数
@end
对比随机数和自己输入的数是否一样
//
// Compare.h
// ShuZiYouXi
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface Compare : NSObject //建立功能类是建立NSObject即可
+(NSString *)compare_info :(NSArray *)arr_random_numbers :(NSArray *)user_filled_numbers;
@end
//
// Compare.m
// ShuZiYouXi
//
//
#import "Compare.h"
#import "Radom.h"
@implementation Compare
+(NSString *)compare_info :(NSArray *)arr_random_numbers :(NSArray *)user_filled_numbers
{
int a_count = 0;
int b_count = 0;
for (int j = 0; j < user_filled_numbers.count ; j++)
{
for (int m = 0; m < arr_random_numbers.count; m++)
{
if ([[user_filled_numbers objectAtIndex:j]isEqualToString:
[arr_random_numbers objectAtIndex:m]])
{
if (j == m)
a_count++;
else
b_count++;
}
}
}
NSString *result_info = [NSString stringWithFormat:@"%dA%dB",a_count,b_count];
return result_info;
}
//arr_random_numbers和user_filled_numbers 是传进来的数 可以进行任意的更改 ,此方法与上一部分产生的随机数
没有直接的关联
@end
控制游戏的次数
//
// Compare.h
// ShuZiYouXi
//
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface Compare : NSObject
+(NSString *)compare_info :(NSArray *)arr_random_numbers :(NSArray *)user_filled_numbers;
@end
//
// NumberOfGame.m
// ShuZiYouXi
//
//
#import "NumberOfGame.h"
#import "Compare.h"
#import "Radom.h"
@implementation NumberOfGame
//- (void)viewDidLoad {
// [super viewDidLoad];
// self.view.backgroundColor = [UIColor whiteColor];
//
//}
+(NSString *)compare_result :(NSString *)comare_result :(int)count_number
{
NSString *label_text;
if (count_number < 6 )
{
if ([comare_result isEqualToString:@"4A0B"])
label_text = @"恭喜您猜对了!";
else
label_text = @"很遗憾,请再猜一次!";
}
else if (count_number == 6)
{
if ([comare_result isEqualToString:@"4A0B"])
label_text = @"恭喜您猜对了!";
else
label_text = @"对不起,游戏失败!";
}
return label_text;
}
@end
三个功能相互没有关联,单独写出来,要是有错误的地方会一目了然
测试用例
//
// ShuZiYouXiTests.m
// ShuZiYouXiTests
//
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
@interface ShuZiYouXiTests : XCTestCase
@end
@implementation ShuZiYouXiTests
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testExample {
// This is an example of a functional test case.
XCTAssert(YES, @"Pass");
}
- (void)testPerformanceExample {
// This is an example of a performance test case.
[self measureBlock:^{
// Put the code you want to measure the time of here.
}];
}
@end
测试功能时建个testcase 把测试的代码写进去测试即可
相关推荐
小红书APP首页各模块测试用例汇总。首页各模块涵盖一至三级目录,共70条具体的测试用例的编写,步骤详细具体,内容描述完整,适合小红书各版本首页的测试。
很实用的ios平台下的app测试用例模板。除了知道测试用例到底怎么写,也能能看出,测试分为install\unstall\search\interface\control等各个部分额,长达90多条。不只是随便写几条的简单示例
本测试用例将深入探讨如何在iOS应用中有效地利用SQLite进行数据操作。 首先,我们需要了解SQLite的基本概念。SQLite支持SQL(结构化查询语言)语法,用于创建表、插入数据、更新数据和查询数据。在iOS中,我们可以...
GAMELOFT IOS游戏通用测试用例(非常全面)
"APP测试用例-参考.doc" 这篇文档是关于APP测试用例的参考指南,涵盖了个人首页、消息页面、发布商品和图片、买买买页面、侧边栏页面、关注页面、购物车页面、我的钱包页面等多个方面的测试用例。 一、个人首页...
下面,我们将深入探讨“GPS终端软件测试用例”这一主题。 首先,测试用例是软件测试中的基础文档,它详细定义了对软件进行测试的各种场景和预期结果。在"GPS终端软件测试用例整理"中,我们可以预见到涵盖了多种测试...
### Xcode测试用例知识点详解 #### 一、单元测试的重要性与原理 单元测试作为软件开发过程中的一个重要组成部分,能够确保代码的质量与稳定性。通过在编码阶段实施单元测试,开发者可以及时发现并修正代码中的错误...
xcode开发,单元测试用例Demo,有帮助
本文将详细讲解iOS Run Loop的概念、工作原理以及测试用例,以帮助开发者深入理解这一关键概念。 一、Run Loop概述 Run Loop,直译为“运行循环”,是iOS和macOS中的一个核心概念,它是一个事件处理和调度系统。...
虽然标签包含了"swift"和"ios",但在这个测试用例中,它们可能是应用的开发语言和平台。K8S和HPA不局限于特定的语言或平台,可以用来管理任何能在容器中运行的应用,包括用Swift编写的iOS后端服务。 总结,"K8S之...
1. iOS单元测试基础:介绍XCTest框架,讲解如何创建测试目标和测试用例,以及如何在Xcode中运行和调试测试。 2. 进阶测试技巧:讲解如何进行模拟对象(mock objects)、依赖注入和隔离测试,以及如何使用XCTestCase...
在“shareSDK 测试用例”中,我们关注的是如何在 Xcode7 的环境下对新版 ShareSDK 进行测试和验证其功能。 在 Xcode7 中测试 ShareSDK,首先需要确保你的开发环境已经正确配置。这包括安装了最新版本的 Xcode,设置...
在IT行业中,软件测试是确保产品质量的关键环节,特别是在手机软件开发中,系统测试用例设计是测试过程中的重要组成部分。本文件"手机软件系统测试用例设计举例.zip"包含了一个详细的文档,旨在提供手机软件系统测试...
根据您提供的文件信息,我将重点放在iOS测试指南的知识点上,而不涉及PDF电子书提供的信息和联系方式等内容。iOS测试指南的知识点可能包含如下: iOS测试概念:iOS测试是针对苹果操作系统(iOS)开发的软件应用进行...
本资料包“手机软件系统测试用例设计举例等.zip”提供了全面的测试用例设计实例,旨在帮助测试人员提升工作效率,保证手机应用的质量。 1. **手机软件测试基础** 手机软件测试涵盖了对移动应用的功能性、性能、...
书中可能详细介绍了如何设置Appium环境,编写和执行测试用例,以及如何调试和分析测试结果。 通过这些书籍的学习,开发者和测试工程师可以更好地掌握iOS应用的测试策略,包括功能测试、性能测试、兼容性测试和用户...
本文将深入探讨自动化测试工具、自动化测试框架、性能测试工具、测试用例管理和测试报告工具,以及软件测试面试题和自动测试面试的相关知识点。 1. 自动化测试工具:自动化测试工具如Selenium、Appium和JMeter,...
excel编写的测试用例,功能为微信朋友圈,供刚入软件测试行业的小伙伴参考