Software Testing Skills and Mindset Software testing is an integral part of the software development process. Without testing software prior to its application and promotion to the market, it is very likely to be filled with various bugs and malfunctions. Receiving an incomplete product would upset the customers and damage the company’s name. There are many examples of poorly tested software causing massive negative feedback and loss of profit. Some of the recent examples involve the release of Rome 2 – Total War and Star Wars Battlefront 2 computer games, which came under fire for numerous bugs and crashes that were missed by the software testing team due to various internal issues and project constraints (Gault & Maiberg, 2017). The profession of a software tester is paramount to the programming industry, as it allows for spotting and fixing issues that were missed during the product creation stage. Prior to watching the video about software testing, I assumed that the most valued skill in software testing was the ability to methodically check and perform many basic and redundant testing sequences in order to spot any potential flaws that might occur when performing basic functions. My reasoning behind this assumption was that the majority of programming errors could be spotted this way, whereas more complicated and hidden errors would not be visible to the naked eye and would only be revealed after a series of reported user complaints. However, this assumption was incorrect. The video made me realize that spotting basic functionality errors is not that difficult and does not require any exceptional skills and dedication. The most important skills in a software testing are the ability to critically think and analyze the situation in order to spot hidden and complex programming errors, and communication skills in order to properly relay and explain these findings to the developers and customers (EuroSTAR, 2012). Top Five Assumptions in Systems Test Plans Although every system test plan is individually fitted to a specific product or software, there are always assumptions that must be made in order for the system to operate efficiently. The majority of the assumptions regarding a particular project are outlined during the project planning phase (Merkow & Raghavan, 2010). However, there are several assumptions that are considered universal and can be largely applied to any systems test plans. These assumptions are as follows (Jorgensen, 2016):   * Testing will be conducted within the implementation timeframes outlined by the testers and approved by the customers.   * The test team will be provided with all the tools necessary for conducting quality systems tests specific to the software in question.   * The configurations of testing hardware and the software will be similar to those present in the production environment.   * The test team will be provided with an acceptable environment in which the testing will be conducted.   * The test team will be provided with all the requirements necessary for the completion of the project, which includes business requirements, system requirements, and data requirements. These basic assumptions are used as a foundation, upon which the majority of the testing projects are being based. Challeng