Integration Testing is defined by Wikipedia as "is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing."
My friends decided they wanted to do a challenge for weight loss. We wanted to do something to capture both diet and activity to help us. I found the mobile app 'Lose It'. This app integrates with other apps and devices such as the Apple Watch, Fitbit, and Nike Running.
I went for a run Friday morning but indoors using the treadmill. I turned my Nike RunClub app on and ran. I would hear the app update me along the way, "1 Mile, time blah blah". I'd look at the treadmill and it would not match. To avoid falling, I decided to finish the run before seeing how I can fix it. Thankfully, NRC allows the user to Edit their runs and I did to correctly reflect my run and time (although I would love to think I ran what Nike thought I ran.)
After my first meal I opened the Lose It app to log my meals. I noticed I had a lot of Exercise calories 'allowed':
So Lose It thinks I did 2 runs, 45 and 43 minutes. One has more calories burned than the other with only a difference of 2 minutes. The actual issue here is this: I only did one run and when I updated the one run it logged it as a new run.
What tests should have been run? From the Lose It app, all these apps and devices they integrate with should have tested Updates/Edits to entries. These entries should have an ID that is specific to the event and when the edit/update occurs, the API call uses the ID to get the updated values.
My friends decided they wanted to do a challenge for weight loss. We wanted to do something to capture both diet and activity to help us. I found the mobile app 'Lose It'. This app integrates with other apps and devices such as the Apple Watch, Fitbit, and Nike Running.
I went for a run Friday morning but indoors using the treadmill. I turned my Nike RunClub app on and ran. I would hear the app update me along the way, "1 Mile, time blah blah". I'd look at the treadmill and it would not match. To avoid falling, I decided to finish the run before seeing how I can fix it. Thankfully, NRC allows the user to Edit their runs and I did to correctly reflect my run and time (although I would love to think I ran what Nike thought I ran.)
After my first meal I opened the Lose It app to log my meals. I noticed I had a lot of Exercise calories 'allowed':
So Lose It thinks I did 2 runs, 45 and 43 minutes. One has more calories burned than the other with only a difference of 2 minutes. The actual issue here is this: I only did one run and when I updated the one run it logged it as a new run.
What tests should have been run? From the Lose It app, all these apps and devices they integrate with should have tested Updates/Edits to entries. These entries should have an ID that is specific to the event and when the edit/update occurs, the API call uses the ID to get the updated values.
Comments
Post a Comment