Here we want to tell, than the command of testing was engaged effectively to check all changes made by developers and to guarantee that the product meets expectations of customers and ultimate users.
Legacy product without analysts, documentation, processes of testing and in general teeming with bugs – this challenge for any command. And involvement of testers to such product was only business of a consent of the customer.
There is a wish to notice that studying narrowly targeted business of logic moreover and for the specific foreign state, can be a thing very nontrivial. It is possible to watch at it as though you installed on the machine of the American engineer – 1C "Accounts department" and would ask to work with it and exactly as it is done by the Russian accountants.
1. What to begin to the tester with if there is only a code.
The first that we made, it was attentively studied by all possible articles and the websites devoted to health care. Starting with what standards of an exchange of electronic medical information happen, and finishing with viewing of photos of hospitals where it is set transferred to our hands to software. Of course, by us there did not pass potential competitors and just applications for voice interpretation.
Close communication with the customer was the second stage of acquaintance to the application. Thanks to correspondences and the received help-documentation sketches (4 slides of the presentation), we managed to reveal several critical moments:
- As there is a record (devices, audio formats)
- Templates of letters which form from the interpretations dictated by doctors.
- Roles of users: Doctors, Secretaries, Transkraybera, Secretaries-editors (monitor quality of the text), a news department
- List of integration systems
- General ZhTs of documents
These data became reference for further work and placed to us priorities in studying of the application from 400.000 code lines. As a result we drew such scheme:
2. Support as source of knowledge.
By then, as we began though a little to understand business logic, on the head of support numerous tiketa with bugs and problems at users fell. These tiketa became our second data source. Incredible amount of features have similar appendices. For example, we needed to study carefully specifications for OMR codes, features of double names and surnames, document templates and many other things. Even sent us photos with already printed letters that we accurately represented as letters develop and what format foreign envelopes.
But sets of settings and configurations which are used on real servers were most useful. The situation was such is that for ten servers hundreds of settings which influenced business logic of the client application were used. Together with developers through a code studied each of them and, of course, documented.
3. Everything has to be most approximate to reality.
After we understood that simple microphones you will not test all functionality of a window for record, we requested devices which doctors use.
Generally it speechmike and DVR devices, and also pedalk for management of audio when transcribing.
DVR Philips DPM8000
Infinity foot control
Still emulation of integration systems became an important point for effective testing.
We tried to minimize "black boxes" in all process of testing and to study with what outgoing data third-party services work. For example, Mirth Connector (the interface for work with HL7 as messages), WinDip (system of electronic documentation), Docman (electronic service for sending letters). Each service has the formats, and it is very important to provide them the correct data for further processing.
We relied on the simple rule: the closer to reality tests are carried out, the is more critical and more important there are bugs and consequently, and testing becomes more effective.
4. Look for loyal users.
Any application will have users ready to cooperate with command of development. We asked to write all actions with the application, and then to send us on the analysis. Total we gathered about ten records, and from users with different roles. We managed to construct the broad picture of work with the application, and also to see the speed of work and a performance concern. At that time the speed of operation of application was deplorable, and the command of development had to sweat over optimization.
The received videos transferred to test kesy which were used further for regression testing.
5. End-to-End testing.
End-to-End testing became one of large-scale tests for us. It meant to carry out a complete inspection of the application, beginning from installation on the pure machine with drivers for devices and finishing with printing of letters and their packing in an envelope. End-to-end allowed us to understand tests accurately what spaces at us still are present at knowledge of system what whether we lack test servers also correct we have an idea of administrator's part of the application.
The most important was to recreate complete work of hospitals, sending documents for interpretation, check of these works, processing of letters with the subsequent printout and transfer to different integration systems. We selected the texts which are brought most closer by the sizes, studied statistics on the extent of audio, looked what types of formatting are most often applied in letters. Generally arranged this role-playing game, it was necessary to put on only white dressing gowns.
Of course, after that we sent our reports to the customer, having pointed to the most significant defects of the application, and also specified what else given us is not enough for studying of systems.
The solid report explaining to the customer as our system works and what in it there are problems was a result of this work. Also we achieved conscious testing, having added Jira (Zephyr) and Confluence with numerous test cases (more than 1000), the check sheets, specifications and even the user guides (more than 50 articles) for our customers.
But the most important achievement for us was the fact that the customer began to trust us as experts and very much shows consideration for our councils. Now any specification is not developed without our static testing, and we, in turn, observe control that all documentation was stored in an actual status in our Vicki.
In conclusion there is a wish to tell that it is only small part of all measures which provide qualitative, conscious and most important the user - the oriented testing. Parallel to these actions occur adjustment of processes of testing in command, deployment of the automated testing, selection of tools, setup and stabilization of test stands and a lot of things is much another.
Here it is shown how it is possible to carry out the most difficult stage – "Occurrence into the project" with the minimum support from the customer, absence of analysts and with maximum efficiency.
Thanks for attention!
This article is a translation of the original post at habrahabr.ru/post/273621/
If you have any questions regarding the material covered in the article above, please, contact the original author of the post.
If you have any complaints about this article or you want this article to be deleted, please, drop an email here: firstname.lastname@example.org.
We believe that the knowledge, which is available at the most popular Russian IT blog habrahabr.ru, should be accessed by everyone, even though it is poorly translated.
Shared knowledge makes the world better.