Transmitted transfer bug and the transport layer of the OSI model
This post is part of a series on the test IO blog about real bugs that our testers have found during test cycles. In each post, we explore the details of the issue, explain its impact, and discuss what software teams can do to avoid similar problems.
A little about the seven layers of the OSI model:
For our bug of the week, we’re taking a look at a bug with transmitted transfers. The tester is able to successfully upload a file, but the website does not display the file in the transfer overview tab.
While testing the file transfer process on a file sharing site, one of our testers found a bug while beta testing the user transfer overview section. The tester attempted to upload a file. They completed the registration for an account and uploaded a file. The uploaded file was over 100MB, which was within the 20GB upload limit. The size of the uploaded file was also within the amount of available storage space.
Once the file upload completed, the site indicated that 100% of the file had been transmitted and the transfer was successful. It then generated and displayed a link for the user to copy (and share) for downloading the file. The tester navigated to the transfer overview tab. The transfer overview tab normally displays all transferred files available for sharing. The tab is also where users can check on the download status, edit, forward or delete the files. However, no files appeared under the tab.
The bug was initially discovered on Windows 7, on the Firefox browser. However, it ended up being reproducible across browsers and platforms.
What we can learn from this bug is understanding the importance of the transmission control protocol and the transport layer of the OSI model. TCP helps establish and maintain a network connection through application programs that exchange data. The transport layer is responsible for moving the data.
One of the things the transport layer is responsible for is flow control. As it pertains to TCP, flow control handles on and off functionality, also known as “xon-xoff”. In summary, when the data being sent reaches capacity during transmission, the XOFF stops the data from transmitting. When the system is ready to transmit again it sends an XON character. Since flow control can be implemented on both software and hardware there could be an issue with the software, hardware or firmware being used. Firmware is the software embedded in hardware. As lifewire explains, firmware is software for hardware.
Here are some best practices for handling your transmission transfer issues. In the article “hardware vs software vs firmware, what’s the difference” lifewire outlines the benefits and the vulnerabilities of all three. We recommend testing all three separately in order to rule them out. You should also confirm that you have all current updates installed, vulnerabilities are patched, and hardware regularly maintained.
If a large part of your business is offering file storage to customers, ensure that they have access to all features. They should be able to easily view, download, edit, delete or forward their desired files.