Friday, July 27, 2018

Milestone #4

While reading on Milestone #4, I was planning to use an external hard drive to boot up Windows Server 2016 and complete the necessary tests. However, no matter what I could possibly do, during the installation of Windows Server 2016 would not allow me to install the OS on the external hard drive, giving me the error that USB installations are not supported. I had attempted to use the software "WinToUSB" to proceed with the installation, but the free version does not support Windows Server 2016. Eventually, I had just partitioned the internal hard drive on this laptop and ran the installation. The download was successful and was given the option to choose which OS to boot from. However, several services were disabled by default, such as the WiFi. In the PowerShell, I had to "Get" the wireless windows feature and install it, then start the service WlanSvc as well as install the network adapter drivers from the laptop manufacturer's website.
I was then able to enable the Hyper-V function in server roles, access the virtual switch manager, set up the network adapter, and finally create the virtual machine. I ran the BC Backup utility and went through the options to back up the Hyper-V specifically. The backup succeeded with no errors, but upon restoration, the files that were "extracted" had a different extension name and the file type of the restored contents changed to FASTNEURON with several arbitrary letters and numbers ahead of it. I am unsure if this is intentional but I was unable to access the restored VM. I manually changed the name of the restored file to end with VHDX in hopes the Hyper-V would recognize the file. But unfortunately the file was not recognized. I believe I could have overlooked a step on my part, but I was under the impression that the restoration option would complete all necessary steps and extract a usable file without any additional steps.

Thursday, July 12, 2018

Milestone #3

I have successfully installed the Backup Chain software onto the Windows 10 virtual machine using VirtualBox and the backup utility is running as expected. After the backup is finished, I will proceed to use the restore function. Below is the progress of the backup so far.

After the backup was finished, 9 errors occurred though they do not seem like major errors. 

The file and folder restoration process was successful and was able to boot up from the decompressed files. The program did not create a VMDK or VDI file because I ran the backup from within the virtual machine, however, all files are intact. I booted up and tested the restored files on another virtual machine successfully..

Tuesday, June 26, 2018

Milestone #2


Stage #1:
I had installed IIS on the virtual machine and created a regular site with an IP consistent with the virtual machine's IPv4 address (10.0.2.15). I had to allow port 80 to be accessible by adding an inbound rule to Windows Firewall. I was able to access the site using Microsoft edge.
Stage #2:
Before setting up the FTP site on IIS, I had to reconfigure some settings on the virtual machine to be able to use port 21. First, I had to allow the FTP Server app to communicate through Windows Defender firewall. Then, I disabled firewall for both private and guest networks to ensure that the firewall would not interfere with the connection process. After this, I set up the FTP server with an IP address consistent with my virtual machine's IPv4 address (10.0.2.15). Since "user" is the name of account on Windows 10, I gave "user" read and write permissions. I also created a new account with a username (FTP-User) and password to be able to use access the FTP site. I had to enable full control of the FTP-User on the security of the FTP storage file.  I downloaded Firefox and was able to access the FTP site using the credentials of the FTP-User account. I placed three random files into the FTP site storage to test if the site will display them, as shown below.

Stage #3:
I was able to successfully establish a connection using FileZilla and access all the contents of the FTP server.

I created a file on the desktop that successfully uploaded into the FTP server through FileZilla.

I successfully downloaded File 2 onto my desktop through FileZilla.

Friday, June 1, 2018

Virtual Machine Learning Path Documentation

          I expect to achieve unique and exclusive experience in software testing using virtual machines, as well as using the mechanics of a virtual machine to ease the testing process. With networking, I expect to be able to create access files over network shares.
          I had already installed VirtualBox on my both my main computer and laptop in the past. I already have the Kali Linux operating systems that I use for educational purposes. I had downloaded the Windows 10 operating system from the link that was provided by the internship website. During the summer of 2016, I had taken a course at the Applied Physics Laboratory called High School Defeating Hackers, where the use of a virtual machine was used.
          Since I had prior experience with virtual machines, this process was relatively simple for me, and I hope to be able to ways in which the virtual machine will benefit the testing process throughout the internship.

Factory vs Freelancer

          The difference lies in the responsibility and scope of implementing quality assurance principles. As an owner of a chocolate bar factory, I, along with team leaders, would help navigate several qualified teams in conducting quality assurance principles throughout the factory. Since it is a collection of employees, their contributions would support one another, addressing almost every aspect of quality assurance principle given that each employee is solving the same challenge. The process is also more efficient to have multiple employees collude with the intent to solve the issue, assuming each employee are dependent on each other. As long as every challenge and solution is documented, this system of employees implementing quality assurance principles is relatively efficient and productive. There is also how much dedication there is to ensure the implementation of all quality assurance principles. As an owner, it would be in my best interest to implement as much quality assurance as possible for my company to strive.
          However, as a freelance software guru, there is only myself to carry out the quality assurance principles, lacking the qualified assets that would assist me. There is also the potential I would be unable to address every single quality assurance principle for my program due to the lack of testers to reveal unforeseen glitches and bugs. Given that the software guru is an average programmer with sufficient skill in each field of the programming stages, there could be an imbalance in qualifications. For example, software security could be the stronger suit of the software programmer whereas exception handling could be less efficiently implemented. The responsibilities of a software guru is relatively large on a general scale, consisting of several smaller tasks.

Freelance Software Guru Quality Assurance

          If I were a freelance software guru, I would implement a series of quality assurance principles that I feel is most applicable to my software. This could involve the implementation of exception handling to prevent the software from crashing, and properly deal with errors. I would analyze my software for any glitches and bugs and patch the code as necessary. I would also design scripts that automates the testing of my software. Memory leak tests would be conducted at every checkpoint of my code to make sure all dynamically allocated data is properly freed from the memory. I would also include plenty of comments throughout my code in the event that I patch older code. All these assurance principles would be conducted and documented for each major checkpoint of my project, allowing me to compare older analyses of my software to its current state, therefore also documenting its improvement.
          In addition to what I would implement, I would tailor my software to meet the requirements of the end-user and the company I work for. There would be other exclusive quality assurance principles that I would implement that are specific to the operation of the software. For example, if the software is designed to store banking information, there would an exclusive quality assurance principle that would test the complexity of the encryption of user details.

Chocolate Bar Factory Quality Assurance

          In order to apply quality assurance principles, several chocolate bar making processes should be thoroughly examined for any defects and potential defects that may appear in time. For example, each bar should be a specific and consistent size based on the parameters given by me, the owner of the chocolate bar factory. There will be a regular maintenance of the machine used to size each chocolate bar, and ensure that the machine will function correctly for as long as it is operational. If a chocolate bar size is inconsistent with given parameters, the issue will be immediately corrected, and the defective chocolate bar will be melted down for reuse.
          Another example could be the ingredients used to produce the chocolate. Each ingredient must be of good quality and should not contain any traces of unhygienic matter such as bacteria. Also, the machine used to mix the ingredients should be thoroughly sterilized after a certain number of batches to ensure that there is no buildup of chocolate residue anywhere on the machine.
          Another example could be how the chocolate is packaged. There needs to be regular maintenance of the wrapping material as well as the wrapper machine. The wrapping material must be cut and wrapped around the chocolate bar in the precise location. The wrapping material must also be free of any unhygienic matter.