Developers Club geek daily blog

Flows vs processes on the example of native Node.js of an add-on for load testing

1 year, 9 months ago
Slightly less than a year ago I wrote a note about attempt to create the instrument of load testing for Node.js using the built-in opportunities (cluster and net modules). In comments fairly indicated the need of the analysis of RPS and comparison with other benchmarks. As a result of comparison I came to a natural conclusion that mnogoprotsessovy service will never be compared on performance with multithreaded because of very expensive costs for data exchange (later we will be convinced of it on an example)

Read more »


How to select a programming language?

1 year, 10 months ago


Such question gave command of the Mail.Ru Mail before writing of the next service. A main objective of such choice — high performance of development process within selected languages/technologies. What influences this indicator?
  • Performance;
  • Existence of debugging tools and profiling;
  • The big community allowing to find quickly answers to questions;
  • Existence of the stable libraries and modules necessary for development of web applications;
  • The number of developers in the market;
  • Possibility of development in modern IDE;
  • Threshold of entry in language.

Besides, developers welcomed briefness and expressiveness of language. Laconicism, certainly, also influences efficiency of development as lack of kilogram weights on probability of success of the marathoner.

Read more »


About efficiency of "doctrines" of Rutreker

1 year, 10 months ago
"Any task has at least one the wrong solution, obvious and incredibly simple for understanding"

As someone from you already knows, widely known resource Rutreker carried out an action "Doctrines on Civil Defence". Its essence consisted in "training" closing of access to a forum for all users from Russia for days. Next day popular Internet editions dazzled with the headings "Educational Blocking of Rutreker Was Not Reflected in Its Attendance". For me as regular user of this website the subject with its blocking is especially painful.

Having seen the encouraging headings, I was glad for a small victory of a favourite resource. However after reading of articles I had several questions. Therefore I also decided to understand: whether really Rutreker successfully coped with a task and taught all the users easily and to easy bypass blocking?

Read more »


The analysis of key indicators of performance — part 3, the last, about system and service metrics

1 year, 10 months ago
We finish the publication of transfer on testing and performance review from the Patterns&Practices command; about what it is necessary to eat key indicators of performance with. For transfer thanks to Igor Shcheglovitov from Kaspersky Lab. Our other articles on a subject of testing can be found on the mstesting tag

In the first article of a cycle on the analysis of key indicators of performance we adjusted a context, now we pass to specific things. In the second looked at the analysis of the user, businessovy indicators / metrics and indicators necessary to the analysis in the application. In this, final — about system and service (including dependent services) metrics.
So,

System metrics...

Read more »


NOT unlimited mailbox, or the Narration about confidential restriction of Mail.ru

1 year, 10 months ago
If this experience of a nastupaniye on a rake is useful to at least one person — already well. If developers draw any conclusions, will review the views of interaction with users — just remarkably.



Provide that after couple of days of life in offline as usual you bring the computer out of hibernation, first of all you go to a tab of the open browser with e-mail box contents from Mail.ru (I understand that it is the heaviest to that who does not use it for ideological or other weighty reasons to provide it, but nevertheless try), and instead of normal several tens letters in "Entering" which were already going to rake-browse fast, you see only read day before yesterday. First of all of course thought that yet network connection did not prochikhatsya, we refresh the page, hm, the same, on other tabs it is visible that Internet connection is. Well, means the cache is guilty. We rediscover mail in a new tab, we pereloginivatsya in a box, at last we enter through the private mode and we come to an unfavourable conclusion that the problem is more serious. We begin to obmozgovyvat the first occurred version about exceeding of a limit on box amount. In parallel we learn from administration of one blog that it receives the letters which are back sent there within a subscription mailing from our box. We send ourselves from other mail service a news and we admire its transformation into the boomerang which came back from mailer-daemon@corp.mail.ru with a verdict "Mailbox full: adresat@mail.ru".

Read more »


Implementation of automatic restart of failed-tests in the current assembly and overcoming of the accompanying troubles

1 year, 10 months ago
In this article it will be a question of use of a framework of testNG, and it is specific — about implemented in it and enough seldom used interfaces: IRetryAnalyzer, ITestListener, IReporter. But about everything one after another.

Eternal problem of each tester at start of autotests is "fall" of separate scripts from start for start randomno. Also it is not about fall of our tests for the objective reasons (i.e. really the error in work of the tested functionality takes place, or the test is written not correctly), and just about those cases when after restart earlier failed tests by miracle pass. The reasons of such randomny falling there can be a weight: the Internet, an overload of CPU/absence of free RAM on the device, a timeout, etc. fell off. A question — how to exclude or at least to reduce the number of such not objectively failed tests?

For me given chellendzh arose under the following circumstances:

1) the current application of autotests was decided to place on the server (CI);
2) implementation of multithreading in the project turned from desire into mustHave (in a type of need of reduction of time of regression testing of service).

Personally I was very glad to the second point as I consider that any process which can last a smaller amount of time — shall arrive thus (whether it be passing of the autotest or queue on cash desk in a supermarket: the quicker we can complete these processes, the more time at us remains for occupations by something really interesting). And so, having placed our tests on the server (here we were helped by administrators and their knowledge of jenkins) and having started them in flows (here our assiduity and experiments with testng.xml already helped), we received reduction of time of passing of tests from 100 minutes to 18, but at the same time we received a gain in the failed tests> 2 times. Therefore to the first two points it was added following (actually, itself chellendzh to which this article is devoted):

Read more »


That we should rasparsit the website. webdriver API bases

1 year, 10 months ago
Search of housing, information on goods, vacancies, acquaintances, comparison of goods of firm with competitors, research of responses in a network.



In the Internet a lot of useful information and ability to retrieve data is published will help with life and work. Let's learn to obtain information by means of webdriver API. In the publication I will give two examples which code is available on github. At the end of article skrinkast how the program manages the browser.

Read more »


The analysis of key indicators of performance — part 2, about the analysis of metrics user, businessovy and applications

1 year, 10 months ago
We continue the publication of transfer on testing and performance review from the Patterns&Practices command; about what it is necessary to eat key indicators of performance with. For transfer thanks to Igor Shcheglovitov from Kaspersky Lab. Our other articles on a subject of testing can be found on the mstesting tag

In the first article of a cycle on the analysis of key indicators of performance we adjusted a context, now we pass to specific things. In this part — about the analysis of metrics user, businessovy and in the application.

The user metrics give an idea of how users use system. Performance at this level is defined by how the user interface processes requests and works with the client's resources. The majority of modern user interfaces are browsers and devices. In this case the main metrics will be load time of pages, the JavaScript-code, type of the browser or device, a geographical position.

So,

How to collect the user metrics?.

Read more »


Sparrow — perl framework of testing and monitoring of web applications

1 year, 10 months ago

Creation history


Sparrow — very young project. Arose as a superstructure over the swat — DSL tool written on perl for development of test cases of different web applications. The description of swat — a separate subject, which I, perhaps, to cutting in the following publications, but if briefly, then swat is the means for automation of web of testing which is based on use of the utility of curl and allowing to create any http requests and to validirovat the returned content.

Read more »


How to count time for testing

1 year, 10 months ago


… Or, in other words, how to count time for testing so that all believed? Actually at us it is normal — two purposes. The first — to consider time so that not to be mistaken and correctly to distribute resources — most likely, first to make it well all the same it will not turn out. The second purpose is more real: to count time for testing so that to prove to someone that you need still people in command, to explain why you are not in time etc. Strangely enough, after time 50 you will make the second, and the first will turn out!

Let's look now how to consider time for testing, on specific examples.

Read more »