Архив автора: admin

Для чего нужна служба поддержки пользователей 1С?

Для чего нужна служба поддержки пользователей 1С?

Для чего нужна служба поддержки
пользователей 1С?
================================================================================
Анастасия Кирилова on 27/12/2012 09:43:00

Несмотря на то, что программы 1С достаточно
просты в освоении и удобны в использовании,
у пользователей периодически возникают
различные вопросы и проблемы. Особенно это
касается компаний, где совсем недавно
прошло внедрение программ, и сотрудники еще
не вполне изучили все аспекты
использования инструментов 1С.
Существует несколько способов разрешить
возникающие проблемы. Один из самых
экономичных, но далеко не самых лучший –
посещение специализированных форумов, на
которых пользователи обсуждают проблемы,
задают вопросы и делятся опытом. В
настоящее время существует огромное
количество подобных сайтов, однако
посещение одного или нескольких ресурсов
вовсе не обязательно приведет к решению
проблем, поскольку люди, дающие советы
являются такими же пользователями, а не
специалистами.
Еще один способ разрешения проблем с
программами 1С платные услуги различных
компаний. Организация может платить за
разовые консультации по мере возникновения
необходимости, однако такой способ не
является выгодным в экономическом плане,
поскольку 1С платные услуги стоят
достаточно дорого и не включают в себя
обновление программ, сопровождение и
многое другое, и организации придется
дополнительно оплачивать другие услуги 1С.
Самым эффективным способом является
заключить договор на оказание услуг 1С,
договор на абонентское обслуживание вашей
организации партнером 1С. После внедрения
программ 1С пользователи получают
возможность обращения в данную службу
бесплатно, однако по прошествии недели
необходимая поддержка 1С становится
платной услугой.
Служба поддержки пользователей 1С
оказывает целый комплекс услуг в сфере
использования программ 1С, в числе которых:
*
консультации по работе с разными решениями
на платформе 1С: Предприятие; *
консультации в области первичной
настройки продуктов 1С; *
ответы о ведении регламентированного
учета в программных продуктах 1С; *
советы по созданию форм отчетности; *
дистанционное подключение к
информационной базе; *
подбор методических материалов на
интересующую тему; *
модификация информационной системы; *
поддержка 1С в сфере обновлений программ,
предоставление доступа для
самостоятельного скачивания.
Заключив договор на оказание услуг 1С —
договор на абонентское обслуживание, вы
сможете обращаться в службу поддержки
пользователей круглосуточно, в любой день
недели, включая выходные и праздники, из
любой точки мира.
Консультации проводятся по телефону или с
помощью электронных писем. Если вам
необходима срочная консультация, в рамках
договора вы можете разговаривать со
службой поддержки неограниченное
количество времени – столько, сколько
потребуется для решения вашей проблемы.
Решением проблем пользователей занимаются
опытные сотрудники компаний, реализующих
программы 1С. Настоящие эксперты понимают
проблемы пользователей в самые короткие
сроки и подробно рассказывают, как решить
различные вопросы.
ЧТО НУЖНО ДЛЯ ПОЛУЧЕНИЯ КОНСУЛЬТАЦИИ ОТ СПП
Для того чтобы получить консультацию в
службе поддержки пользователей, необходимо
заключить договор на абонентское
обслуживание. Далее в случае возникновения
проблемы, вы можете связаться с экспертами
1С по телефону, назвать регистрационные
номер вашего программного продукта 1С и
задать свой вопрос.
Для того чтобы задать вопрос через
электронную почту, нужно отправить письмо
на электронный адрес, указать название
своей организации, программного продукта, а
также номер платформы и конфигурации. В
течение суток вам придет ответ на ваш
вопрос.
Договор может быть заключен на разные сроки
– от 3-х месяцев до одного года, в течение
которого пользователи будут иметь
неограниченный доступ к службе поддержки.
Источник:
Компания «1С:ВДГБ» —
http://www.vdgb.ru/press_center/index.php?ELEMENT_ID=50400&sphrase_id=43150
Тел: +7 (495) 231-62-6

Часть 2. Фикстуры pytest

Всем привет
В первой части немного познакомились с фреймворком для тестирования py.test, а в этой немного углубимся и посмотрим на дополнительные инструменты py.test.

Что такое test fixtures

В тестировании обычно под этим понимают флоу теста, его контекст.
В py.test предусмотрены следующие типы фикстур: встроенные фикстуры, вспомогательные функции, декораторы

setup/teardown

Часто перед запуском теста нужно провести базовые подготовления. Например, это может быть настройка окружения, запуск тестовых сервисов, подготовка тестовых данных, инициализация соединения с базами и проч. Для выполнения этих операций в py.test входит небольшой набор вспомогательных функций — несколько пар setup/teardown.

setup_module(module)
teardown_module(module)

Это функции которые вызываются перед и после выполнения всех тестов (в прошлой части более подробно об организации тестов)
Данную пару удобно использовать когда подготовка флоу происходит однажды — перед  запуском всех тестов.

setup_function(function)
teardown_function(function)

Делают тоже самое что и предыдущие функции, с единственным исключением — функции вызываются перед/после каждым выполнением всех тестовых сценариев. 
Рассмотрим небольшой надуманный пример, для понимания механизма

#fixtures.py
def setup_module(module):
    print('nsetup_module()')


def teardown_module(module):
    print('nteardown_module()')


def setup_function(function):
    print('nsetup_function()')


def teardown_function(function):
    print('nteardown_function()')


def test_first():
    print('ntest_first()')


def test_second():
    print('ntest_second()')


class TestMyClass:
    @classmethod 
    def setup_class(cls):
        print ('nsetup_class()')

    @classmethod 
    def teardown_class(cls):
        print ('teardown_class()')

    def setup_method(self, method):
        print ('nsetup_method()')

    def teardown_method(self, method):
        print ('nteardown_method()')

    def test_first(self):
        print('test_first()')

    def test_second(self):
        print('test_second()')



>>>py.test -s -v fixtures.py

==================
=========== test session starts =============================

platform win32 — Python 2.7.5 — py-1.4.20 — pytest-2.5.2 — C:Python27python.exe
collected 4 items

fixtures.py:17: test_first
setup_module()

setup_function()

test_first()
PASSED
teardown_function()

fixtures.py:21: test_second
setup_function()

test_second()
PASSED
teardown_function()

fixtures.py:40: TestMyClass.test_first
setup_class()

setup_method()
test_first()
PASSED
teardown_method()

fixtures.py:43: TestMyClass.test_second
setup_method()
test_second()
PASSED
teardown_method()
teardown_class()

teardown_module()
========================== 4 passed in 0.02 seconds ===========================

Встроенные фикстуры

В py.test предусмотрен обширный набор встроенных фикстур с полным набором можно ознакомиться, выполнив в консоле следующую команду

>>>py.test —fixtures

Для ознакомления в данном посте рассмотри одну из встроенных фикстур tempdir
temdir
Очень полезная вещь, предназначена для работы с темповыми данными. Т.е. в темповой директории можно хранить любые временные файлы. Например, это могут быть логи тестируемых программ или какой-то контекcт теста, который может понадобиться для воспроизведения бага.

Использовать крайне просто

#fixtures.py
def test_file(tmpdir):
    f = tmpdir.mkdir('logs').join('test.log')
    print(tmpdir.strpath)
    f.write('bla bla')

    with open(f.strpath, 'r') as fp:
        print(fp.read())

>>>py.test -s -v fixtures.py
============================= test session starts =============================
platform win32 — Python 2.7.5 — py-1.4.20 — pytest-2.5.2 — C:Python27python.exe
collected 1 items

fixtures.py:161: test_file temppytest-76test_file0
bla bla
PASSED

========================== 1 passed in 0.03 seconds ===========================

Полезные фикстуры

Для итерации по входным данным можно использовать полезный декоратор py.test.mark.parametrize

#fixtures.py
@py.test.mark.parametrize('num', [i for i in range(2)])
def test(num):
    assert num % 2

py.test -s -v fixtures.py
============================= test session starts =============================
platform win32 — Python 2.7.5 — py-1.4.20 — pytest-2.5.2 — C:Python27python.exe
collected 2 items

fixtures.py:182: test[0] FAILED
fixtures.py:182: test[1] PASSED

================================== FAILURES ===================================
___________________________________ test[0] ___________________________________

num = 0

    @py.test.mark.parametrize('num', [i for i in range(2)])
    def test(num):
>       assert num % 2
E       assert (0 % 2)

fixtures.py:184: AssertionError
===================== 1 failed, 1 passed in 0.02 seconds ======================

Кастомизация

О кастомных фикстурах более подробно в одном из следующих постов, поэтому здесь совсем небольшой пример.

Для определения собственных инструментов в py.test предусмотрены 

#fixtures.py
@pytest.fixture(scope=»function»)
def before(request):
    print('nbefore()')

    def after():
        print(«nafter()»)
    request.addfinalizer(after)


def test_func(before):
    print(«ntest_func()»)



>>>py.test -s -v fixtures.py
============================= test session starts =============================
platform win32 — Python 2.7.5 — py-1.4.20 — pytest-2.5.2 — C:Python27python.exe
collected 1 items

fixtures.py:14: test_func
before()

test_func()
PASSED
after()
========================== 1 passed in 0.01 seconds ===========================

Вывод

1. Прежде всего это создано для удобства (как собственно и весь py.test)
2. Сокращает время разработки теста
3. делает тест прозрачнее
4. Уменьшает количество копипаста

Ссылки

http://pytest.org/latest/
http://en.wikipedia.org/wiki/Test_fixture
http://pythontesting.net/

Автор: Евгений Курочкин

Как мы тестируем SSD: Kingston E100 vs Intel S3700

В описанных ниже методиках тестирования производительности SSD нет ничего нового. Это первые четыре теста в соответствии со спецификацией SNIA Solid State Storage Performance Test Specification Enterprise v1.1: IOPS, Throughtput, Latency, Write Saturation. Описание и условия есть в статье на основном сайте True System: Обзор SSD OCZ Intrepid 3800.
Сам по себе обзор Kingston E100 и сравнение результатов синтетических тестов производительности с Intel S3700 тоже не представляют особой ценности. Соответствующие обзоры были опубликованы 1,5 года назад на StorageReview с примерно аналогичными результатами. Цель проста: показать, какие методики тестирования производительности SSD мы используем сейчас и намерены использовать в дальнейшем при тестировании новинок, продемонстрировать серьезность подхода в сочетании с возможностью представления результатов на красивых графиках (за что, в частности, любят тот же StorageReview). Особенно интересны будут пока еще не доехавшие до нас NVMe SSD от Intel и других производителей.

Как упоминалось выше, описание тестов, конфигурацию стенда и другие подробности можно найти в обзоре новых eMLC SSD от возрожденной OCZ (OCZ Storage Solutions) — Intrepid 3800. Остается добавить, что для самих тестов используется fio, для построения графиков (кроме 3D) — gnuplot. Для проверки выхода на установившееся состояние используется способ, описанный в спецификации SNIA PTS — проверка на выход линейной аппроксимации графика в выбранном окне за пределы +-10% от среднего значения. Пример:

В нашем распоряжении находится Kingston E100 (SE100S3200G) объемом 200ГБ, с последней прошивкой 515ABBF0.

Результаты

IOPS Test

График IOPS при различных значения размера блока и соотношениях чтение/запись:

Обычно для SSD указывают значение IOPS для блока 4КиБ на чтение и запись (значение задержки при этом не контролируется): 57147 IOPS на чтение и 22262 IOPS на запись. Производитель указывает 59000/76000 IOPS без указания методики тестирования (т.е. это пиковые значения для «свежезануленного» SSD), но и реальные результаты неплохи. Де-факто эталонный на сегодняшний день среди eMLC SSD с интерфейсом SATA, Intel S3700 продемонстрировал 30425/40524 IOPS на чтение и запись соответственно. На блоках 8К отрыв S3700 на запись увеличивается: 24125/30730 (Intel S3700) и 35514/8932 IOPS (Kingston E100).

Throughtput Test

На графике дополнительно представлен вышеупомянутый OCZ Intrepid 3800:

Ситуация со случайным доступом повторяется. На последовательном доступе аналогичная картина: чуть лучше на чтение, хуже на запись.

Latency Test

Проверяется задержка (средняя и максимальная) при одном потоке с глубиной очереди = 1.
Средняя задержка:

Максимальная задержка:

Сравнение с Intel S3700 для блока 4K:

 

Сами по себе результаты неплохи для eMLC 2012 года, но в сравнении с Intel S3700 выглядят не очень хорошо.

Write Saturation Test

Непрерывная нагрузка на случайную запись (8 потоков с QD=16) блоками 4K в течение 10 часов. Такая нагрузка приводит к исчерпанию пула свободных блоков и показывает способность SSD эффективно справляться со сборкой мусора. На графиках IOPS и задержек у любых можно увидеть резкое снижение производительности после того, как заканчиваются свободные для записи блоки в основном и резервном пространстве. После этого контроллер SSD вынужден заниматься своего рода дефрагментацией ячеек с мусорными данными, размещая незавершенные IO в кэше. От эффективности алгоритма сборки мусора и аппаратных возможностей контроллера будет зависеть степень деградации производительности заполненного SSD.
График 1: IOPS.

Начинают оба SSD одинаково. Производительность в состоянии «из коробки» — порядка 43 тыс. IOPS на запись, но после заполнения Kingston проседает до 8000 против 32000 у Intel S3700. Разумеется, Write Saturation Test — это экстремальный синтетический тест и в реальности непрерывная нагрузка со 100% записью практически не встречается, у SSD практически всегда есть достаточно времени на сборку мусора для пополнения запаса чистых блоков.
Графики 2 и 3. Средняя задержка, максимальная задержка.

 

Среднее значение задержки в тесте WSAT вычисляется в пределах 1-минутного раунда (всего их 600), максимальное значение задержки в пределах раунда тоже записывается и по нему строится отдельный график.
Ситуация со средней задержкой опять не в пользу Kingston: после заполнения контроллер SSD начинает тратить много времени на подготовку чистых блоков и задержка вырастает в 6 раз.
Несмотря на существенно более низкий уровень средней задержки Intel S3700 демонстрирует периодические пики, превышающие среднее значение более чем на два порядка, что может не лучшим образом сказаться на реальной производительности приложений. Kingston E100 демонстрирует более стабильное поведение.

Заключение

Остается реализовать остальные, более сложные тесты SNIA PTS. Особенно важным будет Demand Intensity / Response Time Histogram, показывающий зависимость соотношения IOPS/задержка от нагрузки (количества потоков и глубины очереди) и распределение значения минимальной/средней/максимальной задержки.

Автор: Dmitry Nosachev

Часть 1. pytest. Первый взгляд

Каждый девелопер, для которого слова tdd, unittest, ci являются не пустыми, слышал про тестовый фраймворк pytest (он же py.test). По каким-то причинам этот тестовый фраймвор слабо освещен на просторах рунета. В ряде статей постараюсь заполнить этот пробел. Думаю, познакомившись с pytest поближе вы забудете про стандартный unittest.



Преимущества pytest

  • он простой
  • он функциональный, в коробке идет большое количество киллер фич
  • он логичный
  • он расширяемый
  • он умный, можно запускать тесты на unittest, doctest
  • код тестов меньше и проще

Ставим


pip install -U pytest
Или через easy_install
easy_install -U pytest

Или из пакета
Качаем пакет http://pypi.python.org/pypi/pytest

python pytest/setup.py install

Единственно при оффлайн установке стоит учесть что для работы pytest нужно еще 2 пакета — colorama и py

Пробуем


Забегая в перед скажу что все тестовые функции должны начинаться с префикса test_*.

# tests.py
def test_first_our_passed():
    assert True

def test_first_our_failed():
    assert False

Запустим тест в консоли py.test test.py

============================= test session starts =============================
platform win32 — Python 2.7.5 — py-1.4.20 — pytest-2.5.2
collected 2 items

tests_first.py .F

================================== FAILURES ===================================
____________________________ test_first_our_failed ____________________________

    def test_first_our_failed():
>       assert False
E       assert False

tests_first.py:6: AssertionError
===================== 1 failed, 1 passed in 0.13 seconds ======================

Из коробки получаем довольно информативный вывод


Структура проекта


Есть два устоявшихся принципа по организации тестового проекта
Все тесты находятся в папке test рядом с пакетами проекта

/myproj
    __init__.py
    project.py
/test
    test_func_1.py
    test_func_2.py

Второй вариант — папка с тестами находится в самом пакете проекта

/myproj
    __init__.py
    project.py
    /test
        test_func_1.py
        test_func_2.py

Разница не большая, а скорее дело вкуса.


Структура тестов


В принципа здесь все банально. Для рассмотрения будем использовать простой тестовый проект.

/myproj
    __init__.py
    project.py

# project.py
def pp(val):
    return val + 1

Первый принцип — все тесты описаны в виде тестовых функциях

def test_positive():
    assert pp(1) == 2

def test_negative():
    assert pp(1) == 1

Второй принцип — все тесты описаны в виде методов тестового класса

class TestProject:
    def test_positive(self):
        assert pp(1) == 2

    def test_negative(self):
        assert pp(1) == 1

На тестах данные принцип практически не сказывается.

Варианты запуска

Из коробки в pytest предусмотрено несколько вариантов запуска тестов.

Через специальную утилиту py.test.exe

py.test.exe test_project.py

В консоли через питон 

python -m «pytest.main('test directory')»

Вызов pytest в коде

if __name__ == '__main__':
    pytest.main('test_project.py')

+ никто не отменял сабпроцесс;)

Ссылки

http://pytest.org

Автор: Евгений Курочкин

Когда впервые на Земле играли в прятки…

сердце в любвиГоворят, что однажды собрались в одном уголке земли вместе все человеческие чувства и качества.

Когда СКУКА зевнула уже в третий раз, СУМАСШЕСТВИЕ предложило:

— А давайте играть в прятки!?

— ИНТРИГА приподняла бровь: — Прятки? Что это за игра?

и СУМАСШЕСТВИЕ объяснило, что один из них, например, оно, водит — закрывает глаза и считает до миллиона, в то время как остальные прячутся. Тот, кто будет найден последним, станет водить в следующий раз и так далее.

Читать

За здоровьем к стоматологу

Здоровые зубы – отличное самочувствие. Давно замечено, что у человека с не поврежденными кариесом зубами практически не бывает хронических заболеваний. Поэтому при желании чувствовать себя всегда хорошо, стоит регулярно заботиться о состоянии полости рта. Для этого необходимо не только ежедневно чистить зубы и ухаживать за ними между перекусами, применяя различные эликсиры, но и регулярно посещать кабинет стоматолога. К сожалению, некоторая часть нашего населения считает, что не обязательно обращаться к врачу, если ничего не беспокоит. Потом искренно недоумевают, почему у них так быстро редеют зубные ряды и ротовая полость регулярно нуждается в санации. А это логичный результат игнорирования профилактического осмотра. Стоматологи рекомендуют, даже если нет ощутимых проблем с зубами, обязательно надо 2 раза за год обращаться к узкому специалисту за консультацией. Стоимость стоматологических услуг сравнительно небольшая, поэтому ни у кого не вызовет проблем поход в клинику. А врач сможет детально изучить состояние зубов, слизистой и прочее, выявить начинающие очаги кариеса (если это имеется), порекомендовать эффективные методики профилактики пародонтоза (невоспалительного поражения околозубной костной ткани) и т.д. Пациенту не стоит комплексовать в стоматологическом кресле, избегая дополнительных вопросов специалисту. Если давно была какая-то проблема с деснами (они кровоточили), а зубы реагировали на холодное или горячее, хотя дырок в них нет, стоит об этом обязательно сказать врачу. Тогда он более внимательно проведет осмотр, изучит состояние мягких тканей и зубной эмали. Есть еще одна беда многих сограждан – они панически боятся лечить зубы. И хотя сейчас стоматологическая техника модернизирована, а все медицинские манипуляции проводятся безболезненно и максимально комфортно для пациентов, страх перед бормашиной сильнее прогресса. Поэтому, чтобы реже испытывать на себе последние новинки стоматологических разработок, стоит, пока зубы здоровые, посещать кабинет в профилактических целях и соблюдать все рекомендации терапевта или ортодонта. Как итог – здоровье человека зависит от многих факторов, основной из них не только наследственность, но и состояние зубов. Сберегая их смолоду, легко защитить себя от многих заболеваний в зрелости.