In our previous article, we shared the 5 Types of Testing that Every Kronos Customer is Responsible For. Each of these Kronos testing types plays an important role when developing an effective Quality Assurance program for your workforce management (WFM) initiative.
In this article, we provide high-level guidance and best practices for effective functional testing.
What is Functional Testing?
The purpose of functional testing is to validate that the solution is configured correctly and meets the unique functional requirements of the customer. The process involves the comprehensive testing of inputs and boundary conditions to ensure that you have correctly configured the business logic to achieve the desired output.
Members of the project team, i.e., the vendor, Systems Integrator (SI) partner, or the customer (usually IT or a dedicated Quality Assurance (QA) Team), typically write the functional tests.
Pro Tip: It’s a best practice to leverage functional testing by independent testers that haven’t played a role in configuring the solution. This provides a third-party perspective and reduces the risk of misinterpreting or misunderstanding the requirements.
Functional testing is typically performed in a separate QA environment/instance and should occur after Build Complete/Solution Design Workshop (SDW).
Pro Tip: We’re often asked whether testing can begin where there are delivery delays. Our answer is a resounding and pragmatic, “Yes!” When these situations occur, we recommend a formal and structured conversation to clarify the outstanding deliverables and establish new delivery dates. You should perform a quick assessment to determine which testing can occur in the interim.
How to Approach Kronos Functional Testing
The functional tests should be written based on design documents or user stories.
Pro Tip: If you lack approved design documentation, it is acceptable to use the requirements and any other supporting documentation and/or system configuration to guide your functional test case writing. This isn’t the ideal situation, but if you have to do this, it is best practice to perform a formal walk through, review, and signoff of the functional tests with business subject matter experts (SMEs) to ensure there are no misinterpretations or misunderstandings.
Behavior Driven Design (BDD) tests are example-based and written in plain English to promote a shared understanding between business, IT, and QA resources. This type of functional testing is rapidly gaining popularity with enterprise customers to help drive faster-testing cycles by using automation.
Based on our experiences, we’ve found the most effective approach to organizing functional testing is to break each module down into building blocks that makes sense to business users. For example, tests related to timekeeping can be organized by: Overtime Rules; Holiday Pay; and Break Rules. Scheduling tests could be organized by: Minor Rules, Break Rules, and Min/Max Hours, etc.
Also consider factoring in some of the differences related to state legislation, such as the California Meal Penalty rule.
Key Activities of Kronos Functional Testing
1. Testing Planning
Planning for functional testing requires a definition of the scope, including:
- Modules: Timekeeping, Accruals, Scheduling, etc.
- Geography: Country, State, Business Unit and/or by Locations
- Key Users and/or Business Processes
The planning should define the source for the requirements, which could include design documentation or existing configurations.
Detailed project and resource planning should include developing a timeline with dependencies. And you should also establish the communication plan and cadence for meetings during the various phases of the QA process.
2. Test Case Writing
This next step includes writing detailed functional test cases with clearly defined inputs, actions, and expected results.
These tests should be exhaustive, testing all possible inputs, combinations, and boundary cases. For example, if an employee accrues vacation at a different rate on their 10th anniversary, include tests to guarantee the expected results at (1) 10 years -1 day seniority and (2) on their 10-year anniversary date
Set frequent touchpoints with your project teams to manage dependencies, timelines, and ensure any requirements changes are communicated to the test case writers and incorporated into the test suite.
Organize test cases by functional areas and/or personas.
Additionally, you should prepare QA test environments, set up test data, and procure any required testing tools. And you should define the process for managing and correcting defects.
Finally, you should complete the solution design review and incorporate any required changes into the solution.
3. Test Execution
The main activities during test execution include:
- Run all in-scope test cases.
- Review all failed test cases to determine whether they are valid failures.
- Document any defects according to the defined defect management process.
- Hold daily defect review meetings.
- Re-execute any failed tests.
Kronos Functional Testing Deliverables
The key deliverables of functional testing include:
- Project and Resource Plan.
- Stage-Gate Entry/Exit Criteria for each phase of the functional testing process.
- Documented Test Cases.
- Test Execution Plan.
- Test Execution Status Report.
Kronos Functional Testing Best Practices
The person doing the configuration should not write functional test cases. This will help eliminate any misunderstandings between configuring and testing.
You should also assume there will be at least two distinct functional testing rounds. Since you assuredly will encounter defects, it is always wise to plan for at least a second round of testing.
- Pass one should test 100% of all test cases.
- Pass two should plan for testing at least 50%.
- Larger enterprises or complex rollouts should plan on a three-pass testing strategy.
Pro Tip: Typically, with manual functional testing, each pass can last two to six weeks. We usually recommend only planning a subset of tests for pass two and three, e.g., Pass #1=100%, Pass #2=50%, and Pass #3=25%.
One significant benefit of automated testing is that you can retest 100% of your test cases, and the duration of each testing pass can reduce from 2 to 6 weeks to just 1 or 2 days.
As we outlined in the article 5 Types of Testing that Every Kronos Customer is Responsible For, functional testing is only one of the several types of testing that’s the responsibility of Kronos customers.
However, it is usually the type that requires the highest number of test scenarios due to the complex configurations and testing of detailed logic.
Given these complexities, carefully planning your functional testing approach is crucial to prove the solution meets your business requirements. It will lay the foundation for Systems Integration Testing (SIT), which is the next phase of testing.
In this article, we’ve provided some high-level guidance and best practices for effective functional testing.
We also introduced automation as an option to reduce testing cycles and timelines to all QA to accelerate and mitigate risks to your business.
Whether you’re implementing a new Kronos workforce management system, upgrading to a new version, or releasing business-driven changes, we can help.
TestAssure is committed to providing Kronos customers with test strategy, planning, and automation to help you minimize the impact of your system changes, reduce your risks, and help you move faster with confidence.
Contact us today for a test drive.