diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart
index eb78596..0ec916a 100644
--- a/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart
+++ b/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart
@@ -64,12 +64,12 @@
     );
   });
 
-  testWithoutContext('iOS AOT targets has analyicsName', () {
+  testWithoutContext('iOS AOT targets has analyticsName', () {
     expect(const AotAssemblyRelease().analyticsName, 'ios_aot');
     expect(const AotAssemblyProfile().analyticsName, 'ios_aot');
   });
 
-  testUsingContext('DebugUniveralFramework creates simulator binary', () async {
+  testUsingContext('DebugUniversalFramework creates simulator binary', () async {
     environment.defines[kIosArchs] = 'x86_64';
     environment.defines[kSdkRoot] = 'path/to/iPhoneSimulator.sdk';
     processManager.addCommand(
@@ -113,7 +113,7 @@
     Platform: () => macPlatform,
   });
 
-  testUsingContext('DebugUniveralFramework creates expected binary with arm64 only arch', () async {
+  testUsingContext('DebugUniversalFramework creates expected binary with arm64 only arch', () async {
     environment.defines[kIosArchs] = 'arm64';
     environment.defines[kSdkRoot] = 'path/to/iPhoneOS.sdk';
     processManager.addCommand(
diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/linux_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/linux_test.dart
index fa6cb57..60edf17 100644
--- a/packages/flutter_tools/test/general.shard/build_system/targets/linux_test.dart
+++ b/packages/flutter_tools/test/general.shard/build_system/targets/linux_test.dart
@@ -144,7 +144,7 @@
     ProcessManager: () => FakeProcessManager.any(),
   });
 
-  testWithoutContext("DebugBundleLinuxAssets's name depends on target platforms", () async {
+  testWithoutContext("DebugBundleLinuxAssets' name depends on target platforms", () async {
     expect(const DebugBundleLinuxAssets(TargetPlatform.linux_x64).name, 'debug_bundle_linux-x64_assets');
     expect(const DebugBundleLinuxAssets(TargetPlatform.linux_arm64).name, 'debug_bundle_linux-arm64_assets');
   });
@@ -183,7 +183,7 @@
     ProcessManager: () => FakeProcessManager.any(),
   });
 
-  testWithoutContext("ProfileBundleLinuxAssets's name depends on target platforms", () async {
+  testWithoutContext("ProfileBundleLinuxAssets' name depends on target platforms", () async {
     expect(const ProfileBundleLinuxAssets(TargetPlatform.linux_x64).name, 'profile_bundle_linux-x64_assets');
     expect(const ProfileBundleLinuxAssets(TargetPlatform.linux_arm64).name, 'profile_bundle_linux-arm64_assets');
   });
@@ -222,7 +222,7 @@
     ProcessManager: () => FakeProcessManager.any(),
   });
 
-  testWithoutContext("ReleaseBundleLinuxAssets's name depends on target platforms", () async {
+  testWithoutContext("ReleaseBundleLinuxAssets' name depends on target platforms", () async {
     expect(const ReleaseBundleLinuxAssets(TargetPlatform.linux_x64).name, 'release_bundle_linux-x64_assets');
     expect(const ReleaseBundleLinuxAssets(TargetPlatform.linux_arm64).name, 'release_bundle_linux-arm64_assets');
   });
