The main objective of this assignment is measuring test engineering skills.
Bill Entering Screen
View Bill History Screen
1- Macbook required to implement the challenge in XCUITest
2- Checkout code from main branch in https://github.com/shahidlatif2021/Splito and open the project in xcode.
3- Create a test plan in iOS testing framework and configure bill tip value percentages i.e 0%,10%,15%,20%.
4- Use this percentage value from test plan and select this percentage value while entering the bill
1- Verify following scenarios when application is installed for the first time (You can simulate this first time install by passing --clearData in the application launching Arguments
- Verify that in Bill Entering Screen user cannot enter bill more than 10000.
- Verify that in View Bill History Screen there is no record.
- Veirfy that in View Bill History Screen that total number of people is 0 by default.
- Verify that in View Bill History screen that total bill is 0.00 by default.
2- Create Random number of people and bill amount for 10 records. i.e [[4, 1000], [2, 500], .......] where 4 is number of people and 1000 is bill total in this example.
3- Add bills created in Step 2 in the application and verify that number of people and bill total is showing for all records in View Bill History screen.
4- Open View Bills History screen and add the individual count in the 10 rows for bill total and number of people to ensure that it matches the total count in the header. Please see following screenshot.
- Code challenge to be done using Swift
- For automated tests, assertions are the key. We want you to explore the application and add the assertions that you think are important.
- Follow best practices for coding & automation (OOP, POM, reusable, clean, documented code).
- Test Report for the Automation (Optional)
- Minimum Xcode version is 13.2.1
A code we can Trust!
This code is meant for testing, and passed execution does not mean working application; maybe testing code needs to be tested in the first place.
- Code challenge should be delivered as a link to a public git repository (github.com is preferred).
- Implementations focusing on quality over feature completeness will be highly appreciated. Don’t feel compelled to implement everything, while compromising on code quality.
- Follow All the Best Practices for Implementing a Quality Automation Framework.
- Even if you are not able to complete the challenge, please do submit it anyways.
- Make sure you are able to run the tests successfully
- Please avoid any ToDo's in the code.