action #44057
closedcoordination #44054: [functional][y][epic] Develop maintainable and scalable test framework
[functional][y][timebox:20h] Design prototype for the testing framework using object oriented/functional approach
0%
Description
Initial plan¶
1: Find out an approach to make the test framework more readable, scalable and maintainable:
- One of the suggested approaches is to separate the products by distri, then by versions, then by architectures if required. It also could be divided into smaller and more concrete products and it is one part of the task to find the right balance of complexity and readability;
- The certain product is a factory class that initializes all the Product Modules describing the behavior of the product on a business level (e.g.
select_product($product)
instead of procedural approach likesend_key{$smth} ... type_string($string) ... wait_still_screen ...
);- The Product Modules may use inheritance or composition to share common behavior. Same, it is part of the task to identify the better solution;
- The Product Modules could be used to represent components of the widget/application/screen, or they could represent the entire widget/application/screen;
- Test Modules must operate only with the methods, that Product Modules provide. No common os-autoinst subroutines should be used there;
- Needles and YaST API selectors should be either stored separately or in Product Modules. Test Module should not represent them.
2: Make a PR with the suggested approach;
3: Get a feedback from team. Change the prototype according to the solutions found after discussion.
Updated by okurz over 5 years ago
- Subject changed from [functional][y] Design prototype for the testing framework using object oriented\functional approach to [functional][y] Design prototype for the testing framework using object oriented/functional approach
- Target version set to Milestone 21
@oorlov the syntax is broken. Can you try to fix it? It's really not that hard. Also, these are not acceptance criteria
Updated by riafarov over 5 years ago
- Subject changed from [functional][y] Design prototype for the testing framework using object oriented/functional approach to [functional][y][timebox:20h] Design prototype for the testing framework using object oriented/functional approach
Updated by okurz over 5 years ago
please just keep in mind that the main users of this test definitions are QA engineers which might not be expert in software design.
Updated by oorlov over 5 years ago
- Status changed from Feedback to Resolved
The prototype was shown to the team.
The general idea is ok. Decided to proceed further and make a real test. It was decided to start with Partitioning test.
Updated by okurz over 5 years ago
- Status changed from Resolved to Feedback
where can I see the prototype? Do you have a WIP-PR?
Updated by riafarov over 5 years ago
- Status changed from Feedback to Resolved
@okurz, unfortunately you have missed the call when we have had discussion regarding it. You can see changes in the branch. I don't see that a reason to reopen, as ticket is resolved. Please, ping oorlov in person, so he could demo you the proposal. For the next sprint we plan to have something working in real world.
Updated by okurz over 5 years ago
riafarov wrote:
Please, ping oorlov in person, so he could demo you the proposal
Well, that is what I intended with my last comment, what else should I do? You mentioned a branch, I guess it's https://github.com/os-autoinst/os-autoinst-distri-opensuse/compare/master...OleksandrOrlov:object_oriented_framework ? It's hard to read though due to what looks like unintended variable renames.