Functional Testing
Written by Darren Yip
What Is Functional Testing?
Functional testing verifies that each function of the software application operates according to the requirements specification (www.guru99.com/functional-testing.html).
What Is Its Purpose?
Functional testing increases the likelihood that the system will perform its desired functions correctly, as well as not perform any undesirable functions.
How Is It Executed?
Functional testing is usually done using black-box testing techniques where functional aspects of the system are tested without considering the internal program structure.
Static black-box testing tests the functional requirements documents with the aim of ensuring they are complete, clear, relevant, feasible, and testable (Software Testing, 2nd Edition, 2006). No program is executed, and bugs caught at this stage can greatly reduce the costs of a project.
Once the requirements are understood, test input data is identified, expected results are confirmed, and dynamic black-box testing can begin.
Input data can be identified using black-box testing techniques such as equivalence partitioning, boundary value analysis, decision table testing, state transition testing, and exploratory testing. It is impossible to test all combinations of inputs and outputs in most software, and these techniques provide an effective set of test cases that can be executed in a reasonable amount of time.
Expected results should be clear before test execution begins. However, they may change as the project evolves, or the tester may encounter an actual result that only deviates slightly from what is expected but is too costly to change. In these cases, communication is important to ensure everyone is on the same page.
Dynamic black-box testing involves running the program, entering inputs, receiving outputs, and comparing the actual result with the expected result. The behaviour of the system is tested from a perspective similar to the customer’s experience.
Consequences Of Inadequate Functional Testing
Inadequate Functional Testing can be costly, can harm an organization’s reputation, and worse. Examples of results of inadequate functional testing include (from www.sereferences.com/software-failure-list.php):
- Payroll system issuing incorrect paycheques resulting in overpayments of $53 million.
- Customers being able to view each other’s personal information on a retailer’s website.
- Unreliable indication of power levels in medical devices.
- Banks unintentionally crediting hundreds of millions of dollars to customers’ bank accounts.
The Opportunity
The NOC Analyst is responsible for the detection, isolation, and resolution of monitoring alerts for all the components of our hosted platform. The NOC Analyst will execute a blueprint aimed at providing a high level of service availability across all platforms by utilizing the monitoring tools, automation, and log analytics allowing visibility into the technology stack. This is achieved by displaying a passion for the technology and ambition for learning while focusing on proactive and holistic approaches to continuously improving the customer experience.
Your day-to-day responsibilities include
- 24×7 monitoring of the platforms.
- Shift of 3 pm to 11 pm PT or 1 pm to 9 pm PT.
- Actively participate in shift coverage to maintain proper staffing levels.
- Ensure maximum possible service availability and performance of all platforms.
- Analyze problem areas and coordinate corrective actions before services are impacted.
- Manage site crises/events by following Incident Management procedures and leading the NOC response.
Competencies and skills we can’t do without
- Ability to provide clear, concise technical documentation of issues in applicable data systems.
- Aptitude to work with both operations engineers and software developers on cross-functional teams.
- Demonstrate initiative and self-motivation as well as sound time management.
- Technical troubleshooting and problem-solving skills with strong attention to detail.
- In-depth knowledge of monitoring, automation, and log analytics such as SolarWinds, Grafana, PRTG, Elastic or similar tools.
- Exposure to scripting tools such as Powershell.
- Solid understanding of Windows and applications built on the .NET Framework and core Microsoft technologies.
- Versed in supporting the use of APIs using tools such as Postman and markup languages like JSON or XML.
- Relational database experience such as MySQL or MS-SQL.
Education and experience required
- Required: B.S. degree in Computer Science or equivalent experience.
- Proven track record working in a NOC environment.
- Able to strategically manage multiple projects simultaneously and comfortable with a dynamic, fast-paced work environment.
- Proven experience in supporting mission-critical applications on a global scale a plus.
- Experience working and collaborating with Software Delivery teams.
- Experience managing projects and team workloads are required.
Worldline is proud to be an Equal Opportunity employer. We do not discriminate based upon race, religion, colour, national origin, sex (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender identity, gender expression, age, status as an individual with a disability, or other applicable legally protected characteristics.